Utilisation de BEGIN...END
Les instructions BEGIN et END sont utilisées pour regrouper plusieurs instructions Transact-SQL en un bloc logique. Utilisez-les à chaque fois qu'une instruction de contrôle de flux doit exécuter un bloc d'au moins deux instructions Transact-SQL.
Par exemple, lorsqu'une instruction IF contrôle l'exécution d'une seule instruction Transact-SQL, les instructions BEGIN et END ne sont pas nécessaires :
IF (@@ERROR <> 0)
SET @ErrorSaveVariable = @@ERROR
Si @@ERROR a la valeur 0, seule l'instruction SET n'est pas exécutée.
Utilisez les instructions BEGIN et END pour que l'instruction IF saute un bloc d'instructions s'il possède la valeur FALSE :
IF (@@ERROR <> 0)
BEGIN
SET @ErrorSaveVariable = @@ERROR
PRINT 'Error encountered, ' +
CAST(@ErrorSaveVariable AS VARCHAR(10))
END
Les instructions BEGIN et END doivent être utilisées par paire : elles ne peuvent pas être utilisées isolément. L'instruction BEGIN apparaît seule sur une ligne, et elle est suivie du bloc d'instructions Transact-SQL. L'instruction END apparaît sur la dernière ligne pour indiquer la fin du bloc.
[!REMARQUE]
Un bloc d'instructions BEGIN et END doit contenir au moins une instruction Transact-SQL.
Les instructions BEGIN et END sont utilisées quand :
une boucle WHILE doit insérer un bloc d'instructions ;
un élément d'une expression CASE doit insérer un bloc d'instructions ;
une clause IF ou ELSE doit insérer un bloc d'instructions.