Riepilogo: in questo tutorial, imparerai a conoscere il blocco anonimo PL/SQL e come eseguirlo utilizzando SQL*Plus e SQL Developer tools.
PL/SQL anonymous block overview
PL/SQL è un linguaggio strutturato a blocchi il cui codice è organizzato in blocchi. Un blocco PL / SQL è costituito da tre sezioni: sezioni dichiarazione, eseguibile e gestione delle eccezioni. In un blocco, la sezione eseguibile è obbligatoria mentre le sezioni di dichiarazione e gestione delle eccezioni sono facoltative.
Un blocco PL/SQL ha un nome. Funzioni o procedure è un esempio di un blocco denominato. Un blocco denominato viene memorizzato nel server di database Oracle e può essere riutilizzato in seguito.
Un blocco senza nome è un blocco anonimo. Un blocco anonimo non viene salvato nel server di database Oracle, quindi è solo per l’uso una tantum. Tuttavia, i blocchi anonimi PL / SQL possono essere utili a scopo di test.
L’immagine seguente illustra la struttura di un blocco PL/SQL:
1) Sezione dichiarazione
Un blocco PL / SQL dispone di una sezione dichiarazione in cui si dichiarano le variabili, si alloca la memoria per i cursori e si definiscono i tipi di dati.
2) Sezione eseguibile
Un blocco PL/SQL ha una sezione eseguibile. Una sezione eseguibile inizia con la parola chiave BEGIN
e termina con la parola chiave END
. La sezione eseguibile deve avere almeno un’istruzione eseguibile, anche se è l’istruzione NULL
che non fa nulla.
3) Sezione di gestione delle eccezioni
Un blocco PL/SQL ha una sezione di gestione delle eccezioni che inizia con la parola chiave EXCEPTION
. La sezione di gestione delle eccezioni è dove si catturano e gestiscono le eccezioni sollevate dal codice nella sezione di esecuzione.
Nota un blocco stesso è un’istruzione eseguibile, quindi puoi annidare un blocco all’interno di altri blocchi.
Esempio di blocco anonimo PL/SQL
L’esempio seguente mostra un semplice blocco anonimo PL/SQL con una sezione eseguibile.
La sezione eseguibile chiama la procedura DMBS_OUTPUT.PUT_LINE
per visualizzare il messaggio "Hello World"
sullo schermo.
Esegui un blocco anonimo PL / SQL usando SQL * Plus
Una volta che hai il codice di un blocco anonimo, puoi eseguirlo usando SQL*Plus, che è un’interfaccia a riga di comando per l’esecuzione di istruzioni SQL e blocchi PL/SQL forniti da Oracle Database.
L’immagine seguente illustra come eseguire un blocco PL / SQL utilizzando SQL * Plus:
In primo luogo, connettersi al server di database Oracle utilizzando un nome utente e una password.
In secondo luogo, attivare l’output del server utilizzando il comando SET SERVEROUTPUT ON
in modo che la procedura DBMS_OUTPUT.PUT_LINE
visualizzi il testo sullo schermo.
In terzo luogo, digitare il codice del blocco e immettere una barra in avanti ( /
) per istruire SQL*Plus per eseguire il blocco. Dopo aver digitato la barra in avanti (/), SQL*Plus eseguirà il blocco e visualizzerà il messaggio Hello World
sullo schermo come mostrato nelle illustrazioni.
Si noti che è necessario eseguire il comando SET SERVEROUTPUT ON
in ogni sessione che si connette al database Oracle per mostrare il messaggio utilizzando la procedura DBMS_OUTPUT.PUT_LINE
.
Per eseguire nuovamente il blocco immesso, si utilizza il comando /
invece di digitare tutto da zero:
Se si desidera modificare il blocco di codice, utilizzare il comando edit
. SQL * Plus scriverà il blocco di codice in un file e lo aprirà in un editor di testo come mostrato nell’immagine seguente:
È possibile modificare il contenuto del file come segue:
E salvare e chiudere il file. Il contenuto del file verrà scritto nel buffer e ricompilato.
Dopo di che, è possibile eseguire nuovamente il blocco di codice, utilizzerà il nuovo codice:
Eseguire un blocco anonimo PL/SQL utilizzando SQL Developer
Innanzitutto, connettersi al server di database Oracle utilizzando Oracle SQL Developer.
In secondo luogo, creare un nuovo file SQL denominato anonymous-block.sql
risiedeva nella directory C:\plsql
che memorizzerà il codice PL/SQL.
In terzo luogo, inserire il codice PL/SQL ed eseguirlo facendo clic sul pulsante Esegui o premendo il tasto Ctrl-Invio scorciatoia da tastiera.
Altro PL/SQL anonymous block examples
In questo esempio, dichiariamo prima una variabile l_message
che contiene il messaggio di saluto. E poi, nella sezione esecuzione, usiamo la procedura DBMS_OUTPUT.PUTLINE
per mostrare il contenuto di questa variabile invece di usare una stringa letterale.
Ecco l’output:
Hello World!
Il prossimo esempio di blocco anonimo aggiunge una sezione di gestione delle eccezioni che rileva l’eccezione ZERO_DIVIDE
sollevata nella sezione eseguibile e visualizza un messaggio di errore.
Il messaggio di errore è:
ORA-01476: divisor is equal to zero
Ora, dovresti sapere come creare blocchi anonimi PL / SQL ed eseguirli utilizzando SQL * Plus e Oracle SQL Developer tools.
- Questo tutorial è stato utile?
- Sì