Usando BEGIN... END

As instruções BEGIN e END são usadas para agrupar instruções Transact-SQL múltiplas em um bloco lógico. Use as instruções BEGIN e END sempre que uma instrução de controle de fluxo precise executar um bloco de duas ou mais instruções Transact-SQL.

Por exemplo, quando uma instrução IF controla a execução de uma só instrução Transact-SQL, nenhuma instrução BEGIN ou END é necessária:

IF (@@ERROR <> 0)
   SET @ErrorSaveVariable = @@ERROR

Se @@ ERROR é 0, só a instrução simples SET é necessária.

Use as instruções BEGIN e END para fazer a instrução IF ignorar um bloco de instruções quando o avalia como FALSE:

IF (@@ERROR <> 0)
BEGIN
   SET @ErrorSaveVariable = @@ERROR
   PRINT 'Error encountered, ' + 
         CAST(@ErrorSaveVariable AS VARCHAR(10))
END

As instruções BEGIN e END devem ser usadas como um par: uma não pode ser usada sem a outra. A instrução BEGIN aparece só em uma linha, seguida pelo bloco de instruções Transact-SQL. Finalmente, a instrução END aparece só em uma linha para indicar o término do bloco.

ObservaçãoObservação

Um bloco de instruções BEGIN e END deve conter pelo menos uma instrução Transact-SQL.

As instruções BEGIN e END são usadas quando:

  • Um loop WHILE precisa incluir um bloco de instruções.

  • Um elemento de uma expressão CASE precisa incluir um bloco de instruções.

  • Uma cláusula IF ou ELSE precisa incluir um bloco de instruções.