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.
Conventions 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, ou d'un bloc d'instructions.
Exemples
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 AdventureWorks2012;
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 transaction.
*/