Rezumat: în acest tutorial, veți învăța despre blocul anonim PL/SQL și cum să îl executați folosind instrumentele SQL*Plus și SQL Developer.
Prezentare generală a blocului anonim PL/SQL
PL/SQL este un limbaj structurat în blocuri al cărui cod este organizat în blocuri. Un bloc PL/SQL este format din trei secțiuni: secțiunea de declarație, secțiunea executabilă și secțiunea de tratare a excepțiilor. Într-un bloc, secțiunea executabilă este obligatorie, în timp ce secțiunile de declarație și de tratare a excepțiilor sunt opționale.
Un bloc PL/SQL are un nume. Funcțiile sau procedurile sunt un exemplu de bloc cu nume. Un bloc cu nume este stocat în serverul Oracle Database și poate fi reutilizat ulterior.
Un bloc fără nume este un bloc anonim. Un bloc anonim nu este salvat în serverul Oracle Database, deci este doar pentru o utilizare unică. Cu toate acestea, blocurile anonime PL/SQL pot fi utile în scopuri de testare.
Următoarea imagine ilustrează structura unui bloc PL/SQL:
1) Secțiunea de declarație
Un bloc PL/SQL are o secțiune de declarație în care declarați variabilele, alocați memorie pentru cursori și definiți tipurile de date.
2) Secțiunea executabilă
Un bloc PL/SQL are o secțiune executabilă. O secțiune executabilă începe cu cuvântul cheie BEGIN
și se termină cu cuvântul cheie END
. Secțiunea executabilă trebuie să aibă cel puțin o instrucțiune executabilă, chiar dacă aceasta este instrucțiunea NULL
care nu face nimic.
3) Secțiunea de tratare a excepțiilor
Un bloc PL/SQL are o secțiune de tratare a excepțiilor care începe cu cuvântul cheie EXCEPTION
. Secțiunea de tratare a excepțiilor este cea în care prindeți și tratați excepțiile ridicate de codul din secțiunea de execuție.
Rețineți că un bloc în sine este o instrucțiune executabilă, prin urmare, puteți anina un bloc în interiorul altor blocuri.
Exemplu de bloc anonim PL/SQL
Exemplul următor prezintă un bloc anonim PL/SQL simplu cu o secțiune executabilă.
Secțiunea executabilă apelează procedura DMBS_OUTPUT.PUT_LINE
pentru a afișa mesajul "Hello World"
pe ecran.
Executați un bloc anonim PL/SQL utilizând SQL*Plus
După ce aveți codul unui bloc anonim, îl puteți executa utilizând SQL*Plus, care este o interfață de linie de comandă pentru executarea instrucțiunilor SQL și a blocurilor PL/SQL furnizate de Oracle Database.
Următoarea imagine ilustrează modul de executare a unui bloc PL/SQL utilizând SQL*Plus:
În primul rând, conectați-vă la serverul Oracle Database utilizând un nume de utilizator și o parolă.
În al doilea rând, activați ieșirea serverului folosind comanda SET SERVEROUTPUT ON
astfel încât procedura DBMS_OUTPUT.PUT_LINE
să afișeze textul pe ecran.
În al treilea rând, introduceți codul blocului și introduceți o bară oblică ( /
) pentru a instrui SQL*Plus să execute blocul. După ce introduceți bara oblică (/), SQL*Plus va executa blocul și va afișa mesajul Hello World
pe ecran, așa cum se arată în ilustrații.
Rețineți că trebuie să executați comanda SET SERVEROUTPUT ON
în fiecare sesiune în care vă conectați la baza de date Oracle pentru a afișa mesajul cu ajutorul procedurii DBMS_OUTPUT.PUT_LINE
.
Pentru a executa din nou blocul pe care l-ați introdus, utilizați comanda /
în loc să tastați totul de la zero:
Dacă doriți să editați blocul de cod, utilizați comanda edit
. SQL*Plus va scrie blocul de cod într-un fișier și îl va deschide într-un editor de text, așa cum se arată în următoarea imagine:
Puteți modifica conținutul fișierului după cum urmează:
Și salvați și închideți fișierul. Conținutul fișierului va fi scris în buffer și recompilat.
După aceea, puteți executa din nou blocul de cod, acesta va folosi noul cod:
Executați un bloc anonim PL/SQL folosind SQL Developer
În primul rând, conectați-vă la serverul Oracle Database folosind Oracle SQL Developer.
În al doilea rând, creați un nou fișier SQL numit anonymous-block.sql
rezidențial în directorul C:\plsql
care va stoca codul PL/SQL.
În al treilea rând, introduceți codul PL/SQL și executați-l făcând clic pe butonul Execute sau apăsând comanda rapidă de la tastatură Ctrl-Enter.
Mai multe exemple de blocuri anonime PL/SQL
În acest exemplu, mai întâi declarăm o variabilă l_message
care conține mesajul de întâmpinare. Și apoi, în secțiunea de execuție, folosim procedura DBMS_OUTPUT.PUTLINE
pentru a afișa conținutul acestei variabile în loc să folosim un șir literal.
Iată rezultatul:
Hello World!
Următorul exemplu de bloc anonim adaugă o secțiune de tratare a excepțiilor care captează ZERO_DIVIDE
excepția ridicată în secțiunea executabilă și afișează un mesaj de eroare.
Mesajul de eroare este:
ORA-01476: divisor is equal to zero
Acum, ar trebui să știți cum să creați blocuri anonime PL/SQL și să le executați folosind instrumentele SQL*Plus și Oracle SQL Developer.
- A fost util acest tutorial?
- DaNu
.