PL/SQL plokk: struktuur, süntaks ja anonüümne näide
⚡ Nutikas kokkuvõte
PL/SQL-plokk on põhiüksus, mis rühmitab PL/SQL-i ja SQL-i käske, et neid täidetaks koos, mitte rida-realt. Igal plokil on deklareerimise, täitmise ja erandite käsitlemise sektsioon ning plokid on kas anonüümsed või nimetatud.

Mis on PL/SQL-plokk?
PL/SQL-is ei käivitata koodi üherealise formaadiga; seda käivitab alati group.ping koodi üheks elemendiks, mida nimetatakse plokiks. Selles õpetuses saate teada nende plokkide kohta.
Plokid sisaldavad nii PL/SQL- kui ka SQL-käske. Kõiki neid käske täidetakse tervikuna, mitte ükshaaval.
Ploki struktuur
PL/SQL-plokkidel on eelnevalt määratletud struktuur, millesse kood on rühmitatud. Allpool on toodud PL/SQL-ploki erinevad osad:
- Deklaratsiooni jaotis
- Täitmise osa
- Erandid-käitlemine
Allolev pilt illustreerib erinevaid PL/SQL ploki sektsioone ja nende järjekorda.
Deklaratsiooni osa
See on PL/SQL-ploki esimene osa ja see on valikuline. Selles osas deklareeritakse plokis vajalikud muutujad, kursorid, erandid, alamprogrammid, pragma-käsud ja kollektsioonid. Selle osa veel mõned omadused:
- See jaotis on valikuline ja selle võib vahele jätta, kui deklaratsioone pole vaja.
- See peaks olema PL/SQL-ploki esimene osa, kui see on olemas.
- See algab päästikute ja anonüümsete plokkide puhul märksõnaga 'DECLARE'. Teiste alamprogrammide puhul see märksõna puudub; selle asemel tähistab deklaratsiooni sektsiooni alamprogrammi nimele järgnev osa.
- Sellele peaks alati järgnema teostusosa.
Täitmise osa
Täitmisosa on peamine ja kohustuslik osa, mis tegelikult käivitab selle sees kirjutatud koodi. Kuna PL / SQL ootab käivitatavaid lauseid, see plokk ei saa olla tühi ja peab sisaldama vähemalt ühte kehtivat käivitatavat rida. Selle osa veel mõned omadused:
- See võib sisaldada nii PL/SQL-koodi kui ka SQL-koodi.
- See võib pesastatud plokkidena sisaldada ühte või mitut plokki.
- See algab märksõnaga „BEGIN”.
- Sellele peaks järgnema kas 'END' või erandite käsitlemise osa, kui see on olemas.
Erandi käsitlemise sektsioon
Erandid on vältimatud vead, mis esinevad käitusajal, ja nendega tegelemine Oracle pakub plokkides erandite käsitlemise sektsiooni. See sektsioon võib sisaldada ka PL/SQL-lauseid ja see on valikuline.
- Selles osas käsitletakse täitmisplokis tekkinud erandit.
- See on PL/SQL-ploki viimane osa.
- Selle jaotise juhtimine ei saa kunagi täitmisplokki tagasi pöörduda.
- See algab märksõnaga „ERAND”.
- Sellele peaks alati järgnema märksõna „END”.
Märksõna 'END' tähistab PL/SQL-ploki lõppu.
PL/SQL ploki süntaks
Allpool on toodud PL/SQL ploki struktuuri süntaks.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
Märge: Plokile peaks alati järgnema '/', mis saadab kompilaatorile infot ploki lõpu kohta.
PL/SQL-ploki tüübid
PL/SQL plokke on peamiselt kahte tüüpi:
- Anonüümsed plokid
- Nimetatud plokid
Enne kummagi kirjeldamist võrreldakse neid kahte allpool lühidalt.
| Aspekt | Anonüümne plokk | Nimega plokk |
|---|---|---|
| Tal on nimi | Ei | Jah |
| Salvestatud andmebaasis | Ei | Jah, objektina |
| Alustab | DEKLAREERI või ALUSTAMA | LUUA |
| Korduvalt kasutatav | Ainult sama seanss | Helistatav igal ajal |
Anonüümsed plokid
Anonüümsed plokid on PL/SQL plokid, millele pole nime määratud. Need tuleb luua ja kasutada samas seansis, kuna neid ei salvestata serveris andmebaasiobjektidena.
Kuna neid ei salvestata andmebaasis, ei vaja nad eraldi kompileerimisetappi. Need kirjutatakse ja käivitatakse otse ning kompileerimine ja käivitamine toimuvad ühe protsessina. Veel mõned omadused:
- Nendel plokkidel puudub viitenimi.
- Need algavad märksõnaga „DECLARE” või „BEGIN”.
- Kuna neil puudub viitenimi, ei saa neid hilisemaks kasutamiseks salvestada ning need tuleb luua ja käivitada sama seansi jooksul.
- Nad saavad kutsuda teisi nimega plokke, kuid anonüümsele plokile helistamine pole võimalik, kuna sellel puudub viide.
- Need võivad sisaldada pesastatud plokki, mis on nimetatud või anonüümne, ja need võivad olla pesastatud ka mis tahes ploki sisse.
- Neil võivad olla kõik kolm osa, millest teostusosa on kohustuslik ja kaks ülejäänud on valikulised.
Nimega plokid
Nimega plokkidel on kindel ja unikaalne nimi. Neid salvestatakse serveris andmebaasiobjektidena, seega saab neile viidata või neid kasutada seni, kuni nad on olemas. Nimega plokkide kompileerimisprotsess toimub eraldi, kui need luuakse andmebaasiobjektidena. Veel mõned omadused:
- Neid plokke saab kutsuda teistest plokkidest.
- Ploki struktuur on sama mis anonüümsel plokil, välja arvatud see, et see ei alga kunagi käsuga 'DECLARE'. Selle asemel algab see käsuga 'CREATE', mis annab kompilaatorile käsu luua see andmebaasiobjektina.
- Neid plokke saab teiste plokkide sisse pesastada ja need võivad sisaldada ka pesastatud plokke.
- Nimega plokke on põhimõtteliselt kahte tüüpi:
- Menetlus
- funktsioon
Nende nimetatud plokkide kohta leiate lisateavet juhendist protseduurid ja funktsioonid.


