Blocco anonimo PL/SQL

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:

 Blocco anonimo 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:

PL/SQL anonymous block example

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:

plsql anonymous block-eseguire nuovamente un blocco

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:

plsql anonymous block - edit

È 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:

plsql anonymous block-eseguire

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.

Blocco anonimo PL/SQL-sql developer
PL / SQL anonymous block-sql developer-crea file 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.

PL/SQL anonymous block - SQL developer - execute PL/SQL Block

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?



+