Bloc PL/SQL: Structură, Sintaxă și Exemplu Anonim
⚡ Rezumat inteligent
Blocul PL/SQL este unitatea de bază care grupează instrucțiunile PL/SQL și SQL, astfel încât acestea să se execute împreună, nu linie cu linie. Fiecare bloc are o secțiune de declarare, execuție și tratare a excepțiilor, iar blocurile sunt fie anonime, fie denumite.

Ce este un bloc PL/SQL?
În PL/SQL, codul nu este executat în format pe o singură linie; este întotdeauna executat de grup.ping codul într-un singur element numit bloc. În acest tutorial, veți învăța despre aceste blocuri.
Blocurile conțin atât instrucțiuni PL/SQL, cât și instrucțiuni SQL. Toate aceste instrucțiuni sunt executate ca un întreg, nu pe rând.
Structura blocului
Blocurile PL/SQL au o structură predefinită în care este grupat codul. Mai jos sunt diferitele secțiuni ale unui bloc PL/SQL:
- Secțiunea de declarații
- Secțiunea de execuție
- Secțiunea Excepție-Manipulare
Imaginea de mai jos ilustrează diferitele secțiuni ale blocurilor PL/SQL și ordinea lor.
Sectiunea Declaratii
Aceasta este prima secțiune a unui bloc PL/SQL și este opțională. Este secțiunea în care sunt declarate variabilele, cursorii, excepțiile, subprogramele, instrucțiunile pragma și colecțiile necesare în bloc. Câteva caracteristici suplimentare ale acestei părți:
- Această secțiune este opțională și poate fi omisă dacă nu sunt necesare declarații.
- Ar trebui să fie prima secțiune dintr-un bloc PL/SQL, dacă există.
- Începe cu cuvântul cheie „DECLARE” pentru declanșatoare și blocuri anonime. Pentru alte subprograme, acest cuvânt cheie nu este prezent; în schimb, partea de după numele subprogramului marchează secțiunea de declarare.
- Ar trebui să fie întotdeauna urmată de secțiunea de execuție.
Secția de execuție
Partea de execuție este partea principală și obligatorie care execută de fapt codul scris în interiorul ei. Întrucât PL / SQL așteaptă instrucțiuni executabile, acest bloc nu poate fi gol și trebuie să aibă cel puțin o linie executabilă validă. Câteva caracteristici suplimentare ale acestei părți:
- Poate conține atât cod PL/SQL, cât și cod SQL.
- Poate conține unul sau mai multe blocuri în interiorul său ca blocuri imbricate.
- Începe cu cuvântul cheie „BEGIN”.
- Ar trebui să fie urmat fie de „END”, fie de secțiunea de tratare a excepțiilor, dacă există.
Secțiunea de tratare a excepțiilor
Excepțiile sunt erori inevitabile care apar în timpul execuției, iar gestionarea lor Oracle oferă o secțiune de gestionare a excepțiilor în blocuri. Această secțiune poate conține și instrucțiuni PL/SQL și este opțională.
- Aceasta este secțiunea în care este gestionată o excepție ridicată în blocul de execuție.
- Este ultima parte a blocului PL/SQL.
- Controlul din această secțiune nu poate reveni niciodată la blocul de execuție.
- Începe cu cuvântul cheie „EXCEPȚIE”.
- Ar trebui să fie întotdeauna urmat de cuvântul cheie „END”.
Cuvântul cheie „END” marchează sfârșitul blocului PL/SQL.
Sintaxa blocului PL/SQL
Mai jos este sintaxa structurii blocurilor PL/SQL.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
Notă: Un bloc ar trebui să fie întotdeauna urmat de „/”, care trimite informații compilatorului despre sfârșitul blocului.
Tipuri de blocuri PL/SQL
Blocurile PL/SQL sunt în principal de două tipuri:
- Blocuri anonime
- Blocuri numite
Cele două sunt comparate rapid mai jos, înainte de a fi descrise fiecare.
| Aspect | Bloc anonim | Bloc denumit |
|---|---|---|
| Are un nume | Nu | Da |
| Stocat în baza de date | Nu | Da, ca obiect |
| Incepe cu | DECLARE sau ÎNCEPERE | CREATE |
| Reutilizabile | Doar aceeași sesiune | Apelabil oricând |
Blocuri anonime
Blocurile anonime sunt blocuri PL/SQL cărora nu le este atribuit niciun nume. Acestea trebuie create și utilizate în aceeași sesiune, deoarece nu sunt stocate pe server ca obiecte ale bazei de date.
Deoarece nu sunt stocate în baza de date, nu necesită un pas separat de compilare. Sunt scrise și executate direct, iar compilarea și execuția au loc într-un singur proces. Câteva caracteristici suplimentare:
- Aceste blocuri nu au nume de referință.
- Acestea încep cu cuvântul cheie „DECLARE” sau „BEGIN”.
- Deoarece nu au un nume de referință, nu pot fi stocate pentru utilizare ulterioară și trebuie create și executate în aceeași sesiune.
- Pot apela alte blocuri denumite, dar un apel către un bloc anonim nu este posibil, deoarece acesta nu are nicio referință.
- Acestea pot conține un bloc imbricat denumit sau anonim și pot fi, de asemenea, imbricate în interiorul oricărui bloc.
- Pot avea toate cele trei secțiuni, dintre care secțiunea de execuție este obligatorie, iar celelalte două sunt opționale.
Blocuri numite
Blocurile denumite au un nume specific și unic. Sunt stocate ca obiecte ale bazei de date pe server, astfel încât pot fi consultate sau utilizate atâta timp cât sunt prezente. Procesul de compilare pentru blocurile denumite are loc separat atunci când acestea sunt create ca obiecte ale bazei de date. Câteva caracteristici suplimentare:
- Aceste blocuri pot fi apelate din alte blocuri.
- Structura blocului este aceeași ca a unui bloc anonim, cu excepția faptului că nu începe niciodată cu „DECLARE”. În schimb, începe cu „CREATE”, care instruiește compilatorul să îl creeze ca obiect al bazei de date.
- Aceste blocuri pot fi imbricate în alte blocuri și pot conține, de asemenea, blocuri imbricate.
- Blocurile denumite sunt în principiu de două tipuri:
- Procedură
- Funcţie
Puteți afla mai multe despre aceste blocuri denumite în ghidul pentru proceduri și funcții.


