Zusammenfassung: In diesem Tutorial lernen Sie, wie Sie die BEGIN...END
-Anweisung verwenden, um eine Reihe von Transact-SQL-Anweisungen in einen Anweisungsblock einzuschließen.
Übersicht über die BEGIN…END-Anweisung
Die BEGIN...END
-Anweisung wird verwendet, um einen Anweisungsblock zu definieren. Ein Anweisungsblock besteht aus einer Reihe von SQL-Anweisungen, die zusammen ausgeführt werden. Ein Anweisungsblock wird auch als Batch bezeichnet.
Mit anderen Worten, wenn Anweisungen Sätze sind, können Sie mit der BEGIN...END
-Anweisung Absätze definieren.
Die folgende Abbildung zeigt die Syntax der BEGIN...END
-Anweisung:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax platzieren Sie einen Satz von SQL-Anweisungen zwischen den Schlüsselwörtern BEGIN
und END
, zum Beispiel:
Code language: SQL (Structured Query Language) (sql)
Ausgabe:
Um die von der PRINT
-Anweisung erzeugten Meldungen anzuzeigen, müssen Sie in SQL Server Management Studio auf die Registerkarte Messages
klicken. Standardmäßig ist die Registerkarte „Meldungen“ ausgeblendet.
In diesem Beispiel:
- Zuerst haben wir einen Block, der mit dem Schlüsselwort
BEGIN
beginnt und mit dem SchlüsselwortEND
endet. - Zweitens haben wir innerhalb des Blocks eine
SELECT
-Anweisung, die Produkte findet, deren Listenpreise größer als 100.000 sind. Dann folgt die AnweisungIF
, die prüft, ob die Abfrage ein Produkt ergibt und eine Meldung ausgibt, wenn kein Produkt gefunden wird.
Beachten Sie, dass @@ROWCOUNT
eine Systemvariable ist, die die Anzahl der von der letzten vorherigen Anweisung betroffenen Zeilen zurückgibt.
Die Anweisung BEGIN... END
begrenzt einen logischen Block von SQL-Anweisungen. Die BEGIN...END
wird oft am Anfang und am Ende einer gespeicherten Prozedur oder Funktion verwendet. Es ist jedoch nicht unbedingt erforderlich.
Das BEGIN...END
ist jedoch für die IF ELSE
-Anweisungen, WHILE
-Anweisungen usw. erforderlich, wenn Sie mehrere Anweisungen einschließen müssen.
Nesting BEGIN… END
Der Anweisungsblock kann verschachtelt werden. Das bedeutet einfach, dass Sie eine BEGIN...END
-Anweisung innerhalb einer anderen BEGIN... END
-Anweisung platzieren können.
Betrachten Sie das folgende Beispiel:
Code language: SQL (Structured Query Language) (sql)
In diesem Beispiel haben wir die BEGIN...END
-Anweisung verwendet, um den gesamten Anweisungsblock zu umschließen. Innerhalb dieses Blocks haben wir auch die BEGIN...END
für die IF...ELSE
-Anweisung verwendet.
In diesem Tutorial haben Sie die SQL Server BEGIN...END
-Anweisung kennengelernt, um Transact-SQL-Anweisungen in Blöcke einzuschließen.