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.