Partager via


BEGIN...END (Transact-SQL)

Délimite une série d'instructions Transact-SQL pour permettre l'exécution groupée d'instructions Transact-SQL. BEGIN et END sont des mots clés du langage de contrôle de flux.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

BEGIN
     { 
        sql_statement | statement_block 
     } 
END

Arguments

  • { sql_statement| statement_block }
    Représente toute instruction ou tout groupe d'instructions Transact-SQL valide tel que défini dans un bloc d'instructions.

Notes

Les blocs BEGIN...END peuvent être imbriqués.

Bien que toutes les instructions Transact-SQL soient valides à l'intérieur d'un bloc BEGIN…END, certaines d'entre elles ne doivent pas être regroupées à l'intérieur d'un même traitement d'instructions (bloc d'instructions). Pour plus d'informations, consultez Traitements et les différentes instructions utilisées.

Exemple

Dans l'exemple suivant, BEGIN et END délimitent une série d'instructions Transact-SQL qui sont exécutées ensemble. Si le bloc BEGIN...END ne figurait pas dans l'exemple, les deux instructions ROLLBACK TRANSACTION seraient exécutées et les deux messages PRINT seraient renvoyés.

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