BEGIN...END (Transact-SQL)
Schließt eine Reihe von Transact-SQL-Anweisungen ein, sodass eine Gruppe von Transact-SQL-Anweisungen ausgeführt werden kann. Die Schlüsselwörter BEGIN und END gehören in die Gruppe der Sprachkonstrukte zur Ablaufsteuerung.
Transact-SQL-Syntaxkonventionen
Syntax
BEGIN
{
sql_statement | statement_block
}
END
Argumente
- { sql_statement| statement_block }
Eine beliebige gültige Transact-SQL-Anweisung oder -Anweisungsgruppierung, die mithilfe eines Anweisungsblockes definiert ist.
Hinweise
BEGIN...END-Blöcke können geschachtelt werden.
Obwohl sämtliche Transact-SQL-Anweisungen in einem BEGIN...END-Block gültig sind, sollten bestimmte Transact-SQL-Anweisungen nicht in demselben Batch oder Anweisungsblock gruppiert werden.
Beispiele
Im folgenden Beispiel wird durch BEGIN und END eine Reihe von Transact-SQL-Anweisungen definiert, die gemeinsam ausgeführt werden. Wäre der BEGIN...END-Block nicht vorhanden, würden beide ROLLBACK TRANSACTION-Anweisungen ausgeführt, und beide PRINT-Meldungen würden zurückgegeben.
USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person WHERE LastName = 'Adams';
ROLLBACK TRANSACTION;
PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO
/*
Rolled back the transaction.
*/