(0) exportieren Drucken
Alle erweitern

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.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


BEGIN
     { 
        sql_statement | statement_block 
     } 
END

{ sql_statement| statement_block }

Eine beliebige gültige Transact-SQL-Anweisung oder -Anweisungsgruppierung, die mithilfe eines Anweisungsblockes definiert ist.

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. Weitere Informationen finden Sie unter Batches und den jeweils verwendeten Anweisungen.

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 AdventureWorks2008R2;
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 tranaction.
*/

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft