Partager via


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.