Condividi tramite


Utilizzo di BEGIN...END

Le istruzioni BEGIN e END consentono di raggruppare più istruzioni Transact-SQL in un blocco logico. È possibile utilizzare questa coppia di istruzioni in qualsiasi punto in cui un'istruzione per il controllo di flusso deve eseguire un blocco composto da due o più istruzioni Transact-SQL.

Se, ad esempio, un'istruzione IF controlla l'esecuzione di una sola istruzione Transact-SQL, non è necessario utilizzare le istruzioni BEGIN ed END:

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

Se @@ERROR corrisponde a 0, viene ignorata solo l'istruzione SET.

Specificando le istruzioni BEGIN e END, è possibile fare in modo che l'istruzione IF ignori il blocco di istruzioni quando restituisce FALSE:

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

Le istruzioni BEGIN e END devono essere sempre utilizzate in coppia. Non è possibile utilizzare una delle due istruzioni senza l'altra. L'istruzione BEGIN deve occupare una riga distinta ed essere seguita dal blocco di istruzioni Transact-SQL e quindi dall'istruzione END su una riga distinta, che indica la fine del blocco.

[!NOTA]

Un blocco di istruzioni BEGIN e END deve includere almeno un'istruzione Transact-SQL.

Le istruzioni BEGIN e END vengono utilizzate nei casi seguenti:

  • Quando è necessario includere un blocco di istruzioni in un ciclo WHILE.

  • Quando è necessario includere un blocco di istruzioni in un elemento di un'espressione CASE.

  • Quando è necessario includere un blocco di istruzioni in una clausola IF o ELSE.