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