Verwenden von BEGIN...END

Mit den Anweisungen BEGIN und END werden mehrere Transact-SQL-Anweisungen in einem logischen Block zusammengefasst. Verwenden Sie die Anweisungen BEGIN und END immer dann, wenn eine Anweisung zur Ablaufsteuerung einen Block mit mindestens zwei Transact-SQL-Anweisungen ausführen muss.

Wenn eine IF-Anweisung z. B. die Ausführung von nur einer Transact-SQL-Anweisung steuert, wird keine BEGIN- oder END-Anweisung benötigt:

IF (@@ERROR <> 0)
   SET @ErrorSaveVariable = @@ERROR

Falls @@ERROR gleich 0 ist, wird nur die SET-Anweisung übersprungen.

Verwenden Sie die Anweisungen BEGIN und END, damit die IF-Anweisung einen Anweisungsblock auslässt, wenn ihre Bedingung zu FALSE ausgewertet wird:

IF (@@ERROR <> 0)
BEGIN
   SET @ErrorSaveVariable = @@ERROR
   PRINT 'Error encountered, ' + 
         CAST(@ErrorSaveVariable AS VARCHAR(10))
END

Die Anweisungen BEGIN und END müssen als Paar verwendet werden: Eine kann nicht ohne die andere verwendet werden. Die BEGIN-Anweisung wird in einer eigenen Zeile angegeben, der der Block der Transact-SQL-Anweisungen folgt. Zum Schluss wird die END-Anweisung in einer eigenen Zeile angegeben, um das Ende des Blocks anzuzeigen.

HinweisHinweis

Ein BEGIN- und END-Anweisungsblock muss mindestens eine Transact-SQL-Anweisung enthalten.

Die Anweisungen BEGIN und END werden in folgenden Fällen verwendet:

  • Eine WHILE-Schleife muss einen Block mit Anweisungen enthalten.

  • Ein Element eines CASE-Ausdrucks muss einen Block mit Anweisungen enthalten.

  • Eine IF- oder ELSE-Klausel muss einen Block mit Anweisungen enthalten.