BEGIN...END (Transact-SQL)
Include una serie di istruzioni Transact-SQL per consentire l'esecuzione di un gruppo di istruzioni Transact-SQL. BEGIN ed END sono parole chiave del linguaggio per il controllo di flusso.
Sintassi
BEGIN
{
sql_statement | statement_block
}
END
Argomenti
- { sql_statement| statement_block }
Qualsiasi istruzione o raggruppamento di istruzioni Transact-SQL valide definito mediante l'utilizzo di un blocco di istruzioni.
Osservazioni
I blocchi BEGIN...END possono essere nidificati.
Tutte le istruzioni Transact-SQL sono valide all'interno di un blocco BEGIN...END. Alcune istruzioni Transact-SQL, tuttavia, non devono essere raggruppate nello stesso batch o blocco di istruzioni. Per ulteriori informazioni, vedere Batch e le singole istruzioni utilizzate.
Esempi
Nell'esempio seguente BEGIN ed END definiscono una serie di istruzioni Transact-SQL eseguite insieme. Se il blocco BEGIN...END non fosse incluso, verrebbero eseguite entrambe le istruzioni ROLLBACK TRANSACTION e verrebbero restituiti entrambi i messaggi PRINT.
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.
*/