Condividi tramite


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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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.
*/