Što je PL / SQL blok?
U PL / SQL-u kod se ne izvršava u jednom retku, već se uvijek izvršava grupiranjem koda u jedan element zvan Blocks. U ovom uputstvu naučit ćete o tim blokovima.
Blokovi sadrže i PL / SQL kao i SQL upute. Sve će se ove upute izvršavati u cjelini, umjesto da se izvršavaju pojedinačne upute odjednom.
U ovom vodiču naučit ćete:
- Što je PL / SQL blok?
- Struktura bloka
- Sintaksa PL / SQL bloka
- Vrste PL / SQL bloka
Struktura bloka
PL / SQL blokovi imaju unaprijed definiranu strukturu u kojoj se kôd treba grupirati. Ispod su različiti odjeljci PL / SQL blokova.
- Odjeljak deklaracije
- Odjeljak izvršenja
- Odjeljak za rukovanje iznimkama
Slika dolje prikazuje različite PL / SQL blokove i njihov redoslijed odjeljaka.
Odjeljak za izjavu
Ovo je prvi odjeljak PL / SQL blokova. Ovaj je odjeljak neobavezni dio. Ovo je odjeljak u kojem će se deklarirati deklaracija varijabli, kursori, iznimke, potprogrami, pragma upute i zbirke potrebne u bloku. Ispod je još nekoliko karakteristika ovog dijela.
- Ovaj je odjeljak neobavezan i može se preskočiti ako nisu potrebne izjave.
- Ovo bi trebao biti prvi odjeljak u PL / SQL bloku, ako postoji.
- Ovaj odjeljak započinje s ključnom riječi "PROGLAŠI" za okidače i anonimni blok. Za ostale potprograme ova ključna riječ neće biti prisutna. Umjesto toga, dio nakon definicije naziva potprograma označava odjeljak deklaracije.
- Nakon ovog odjeljka uvijek treba slijediti odjeljak izvršenja.
Odjel izvršenja
Izvršni dio je glavni i obvezni dio koji zapravo izvršava kôd zapisan unutar njega. Budući da PL / SQL očekuje izvršne izraze od ovog bloka, to ne može biti prazan blok, tj. U njemu bi trebao biti barem jedan važeći redak izvršnog koda. Ispod je još nekoliko karakteristika ovog dijela.
- To može sadržavati i PL / SQL kôd i SQL kôd.
- To može sadržavati jedan ili više blokova unutar sebe kao ugniježđeni blok.
- Ovaj odjeljak započinje s ključnom riječi "POČINI".
- Ovaj odjeljak trebao bi slijediti ili 'KRAJ' ili odjeljak Rukovanje iznimkama (ako postoji)
Odjeljak za rukovanje iznimkama:
Izuzetak je neizbježan u programu koji se javlja u vrijeme izvođenja i za rukovanje ovim Oracleom pružio je odjeljak o rukovanju iznimkama u blokovima. Ovaj odjeljak također može sadržavati PL / SQL izjave. Ovo je neobavezni odjeljak PL / SQL blokova.
- Ovo je odjeljak u kojem se obrađuje izuzetak podignut u izvršnom bloku.
- Ovaj je odjeljak posljednji dio PL / SQL bloka.
- Kontrola iz ovog odjeljka nikada se ne može vratiti u blok izvršenja.
- Ovaj odjeljak započinje s ključnom riječi "OSIM".
- Nakon ovog odjeljka uvijek treba slijediti ključnu riječ "KRAJ".
Ključna riječ 'END' označava kraj PL / SQL bloka.
Sintaksa PL / SQL bloka
Ispod je sintaksa strukture bloka PL / SQL.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Napomena: Nakon bloka uvijek treba slijediti '/' koji šalje informacije prevoditelju o kraju bloka.
Vrste PL / SQL bloka
PL / SQL blokovi su uglavnom dvije vrste.
- Anonimni blokovi
- Imenovani blokovi
Anonimni blokovi:
Anonimni blokovi su PL / SQL blokovi kojima nisu dodijeljena nikakva imena. Treba ih stvoriti i koristiti u istoj sesiji jer se neće pohraniti na poslužitelj kao objekti baze podataka.
Budući da ih nije potrebno pohraniti u bazu podataka, ne trebaju koraci kompilacije. Napisuju se i izvršavaju izravno, a sastavljanje i izvršavanje događa se u jednom procesu.
Ispod je još nekoliko karakteristika Anonimnih blokova.
- Ovi blokovi za njih nemaju navedeno referenčno ime.
- Ti blokovi počinju s ključnom riječi "PROGLAŠI" ili "POČINI".
- Budući da ovi blokovi nemaju niti jedno referencijsko ime, oni se ne mogu pohraniti za kasniju svrhu. Oni će se stvoriti i izvršiti u istoj sesiji.
- Oni mogu pozvati druge imenovane blokove, ali poziv anonimnom bloku nije moguć jer nema referencu.
- U njemu može biti ugniježđeni blok koji može biti imenovan ili anoniman. Također se može ugnijezditi u bilo koje blokove.
- Ovi blokovi mogu imati sva tri odjeljka bloka, u kojima je odjeljak izvršenja obvezan, druga dva odjeljka nisu obavezna.
Imenovani blokovi:
Imenovani blokovi imaju svoje specifično i jedinstveno ime. Pohranjuju se kao objekti baze podataka na poslužitelju. Budući da su dostupni kao objekti baze podataka, na njih se može uputiti ili ih koristiti sve dok su prisutni na poslužitelju. Proces kompilacije za imenovane blokove događa se odvojeno dok ih se stvara kao objekte baze podataka.
Ispod je još nekoliko karakteristika Imenovanih blokova.
- Ti se blokovi mogu pozivati iz drugih blokova.
- Struktura bloka je ista kao i anonimni blok, samo što nikada neće započeti s ključnom riječi "PROGLAŠI". Umjesto toga, započet će s ključnom riječi 'CREATE' koja zapovijeda kompajleru da je kreira kao objekt baze podataka.
- Ti se blokovi mogu ugnijezditi u druge blokove. Može sadržavati i ugniježđene blokove.
- Imenovani blokovi su u osnovi dvije vrste:
- Postupak
- Funkcija
Sažetak
Nakon ovog vodiča trebali biste biti svjesni PL / SQL blokova i njegovih tipova, različitih odjeljaka blokova i njihove upotrebe. Detaljan opis imenovanih PL / SQL blokova bit će pokriven u kasnijem vodiču.