Sommario: in questo tutorial, imparerai come usare lo statement BEGIN...END
per avvolgere un insieme di statement Transact-SQL in un blocco di statement.
Panoramica dello statement BEGIN…END
Lo statement BEGIN...END
è usato per definire un blocco di statement. Un blocco di istruzioni consiste in un insieme di istruzioni SQL che vengono eseguite insieme. Un blocco di istruzioni è anche conosciuto come un batch.
In altre parole, se le istruzioni sono frasi, l’istruzione BEGIN...END
ti permette di definire dei paragrafi.
Il seguente illustra la sintassi dell’istruzione BEGIN...END
:
Code language: SQL (Structured Query Language) (sql)
In questa sintassi, metti un insieme di istruzioni SQL tra le parole chiave BEGIN
e END
, per esempio:
Code language: SQL (Structured Query Language) (sql)
Output:
Per visualizzare i messaggi generati dall’istruzione PRINT
, in SQL Server Management Studio, devi cliccare sulla scheda Messages
. Per impostazione predefinita, la scheda Messaggi è nascosta.
In questo esempio:
- Primo, abbiamo un blocco che inizia con la parola chiave
BEGIN
e finisce con la parola chiaveEND
. - In secondo luogo, all’interno del blocco, abbiamo una dichiarazione
SELECT
che trova i prodotti i cui prezzi di listino sono maggiori di 100.000. Poi, abbiamo l’istruzioneIF
per controllare se la query restituisce qualche prodotto e stampare un messaggio se nessun prodotto ritorna.
Nota che la @@ROWCOUNT
è una variabile di sistema che restituisce il numero di righe interessate dall’ultima istruzione precedente.
L’istruzione BEGIN... END
lega un blocco logico di istruzioni SQL. Usiamo spesso il BEGIN...END
all’inizio e alla fine di una stored procedure e di una funzione. Ma non è strettamente necessario.
Tuttavia, il BEGIN...END
è necessario per le dichiarazioni IF ELSE
, WHILE
, ecc., dove è necessario avvolgere più dichiarazioni.
Nesting BEGIN… END
Il blocco di istruzioni può essere annidato. Significa semplicemente che potete mettere un’istruzione BEGIN...END
dentro un’altra istruzione BEGIN... END
.
Considerate il seguente esempio:
Code language: SQL (Structured Query Language) (sql)
In questo esempio, abbiamo usato l’istruzione BEGIN...END
per avvolgere l’intero blocco di istruzioni. All’interno di questo blocco, abbiamo anche usato il BEGIN...END
per l’istruzione IF...ELSE
.
In questo tutorial, avete imparato l’istruzione BEGIN...END
di SQL Server per avvolgere le istruzioni Transact-SQL in blocchi.