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
BEGINbeginnt 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.