PL/ SQL blok: STRUKTURA, Sintaksa, ANONIMNO Primjer

Što je PL/SQL blok?

U PL/SQL kod se ne izvršava u formatu jednog retka, već se uvijek izvodi grupiranjem koda u jedan element koji se zove blokovi. U ovom ćete vodiču naučiti o tim blokovima.

Blokovi sadrže i PL/SQL kao i SQL instrukcije. Sve ove instrukcije bit će izvršene kao cjelina, a ne izvršavanje jedne po jedne instrukcije.

Blok struktura

PL/SQL blokovi imaju unaprijed definiranu strukturu u kojoj se kod grupira. Ispod su različiti dijelovi PL/SQL blokova.

  1. Odjeljak deklaracije
  2. Izvršni dio
  3. Odjeljak za rukovanje iznimkama

Donja slika ilustrira različite PL/SQL blokove i njihov redoslijed sekcija.

Blok struktura

Odjeljak deklaracije

Ovo je prvi odjeljak PL/SQL blokova. Ovaj odjeljak je neobavezan dio. Ovo je odjeljak u kojem će se deklarirati deklaracija varijabli, kursora, izuzetaka, potprograma, pragma instrukcija i kolekcija koje su potrebne u bloku. Ispod je još nekoliko karakteristika ovog dijela.

  • Ovaj određeni odjeljak nije obavezan i može se preskočiti ako nisu potrebne deklaracije.
  • Ovo bi trebao biti prvi odjeljak u PL/SQL bloku, ako postoji.
  • Ovaj odjeljak počinje ključnom riječi 'DECLARE' 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 za izvršenje.

Odjel za izvršenje

Izvršni dio je glavni i obvezni dio koji zapravo izvršava kod koji je napisan unutar njega. Budući da je PL / SQL očekuje izvršne naredbe iz ovog bloka, to ne može biti prazan blok, tj. trebao bi sadržavati barem jednu važeću liniju izvršnog koda u sebi. Ispod je još nekoliko karakteristika ovog dijela.

  • Ovo može sadržavati i PL/SQL kod i SQL kod.
  • To može sadržavati jedan ili više blokova unutar sebe kao ugniježđeni blok.
  • Ovaj odjeljak počinje ključnom riječi 'BEGIN'.
  • Nakon ovog odjeljka treba slijediti ili 'KRAJ' ili odjeljak za rukovanje iznimkama (ako postoji)

Odjeljak za rukovanje iznimkama

Iznimka je neizbježna u programu koji se pojavljuje tijekom izvođenja i rješavanju toga Oracle je osigurao odjeljak za rukovanje iznimkama u blokovima. Ovaj odjeljak također može sadržavati PL/SQL izjave. Ovo je izborni odjeljak PL/SQL blokova.

  • Ovo je odjeljak u kojem se obrađuje iznimka pokrenuta u bloku izvršenja.
  • Ovaj odjeljak je zadnji dio PL/SQL bloka.
  • Kontrola iz ove sekcije nikada se ne može vratiti u izvršni blok.
  • Ovaj odjeljak počinje ključnom riječi 'IZUZETAK'.
  • Nakon ovog odjeljka uvijek treba slijediti ključna riječ 'KRAJ'.

Ključna riječ 'END' označava kraj PL/SQL bloka.

Sintaksa PL/SQL bloka

Ispod je sintaksa PL/SQL blok strukture.

Sintaksa PL/SQL bloka

DECLARE --optional
    <declarations>

BEGIN   --mandatory
    <executable statements. At least one executable statement is mandatory>

EXCEPTION --optional 
    <exception handles>

END;   --mandatory
/

Bilješka: Iza bloka bi uvijek trebao biti '/' koji šalje informaciju kompajleru o kraju bloka.

Vrste PL/SQL blokova

PL/SQL blokovi su uglavnom dvije vrste.

  1. Anonimni blokovi
  2. Imenovani blokovi

Anonimni blokovi

Anonimni blokovi su PL/SQL blokovi koji nemaju dodijeljena imena. Moraju se kreirati i koristiti u istoj sesiji jer neće biti pohranjeni na poslužitelju kao objekti baze podataka.

Budući da ih ne treba pohranjivati ​​u bazu podataka, ne trebaju im koraci kompilacije. Oni se pišu i izvode izravno, a kompilacija i izvođenje odvijaju se u jednom procesu.

Ispod je još nekoliko karakteristika anonimnih blokova.

  • Ovi blokovi nemaju naveden referentni naziv.
  • Ovi blokovi počinju ključnom riječi 'DECLARE' ili 'BEGIN'.
  • Budući da ovi blokovi nemaju nikakvo referentno ime, ne mogu se pohraniti za kasniju svrhu. Moraju se izraditi i izvršiti u istoj sesiji.
  • Oni mogu pozivati ​​druge imenovane blokove, ali poziv anonimnom bloku nije moguć jer nema nikakve reference.
  • Može imati ugniježđeni blok u sebi koji može biti imenovan ili anoniman. Također se može ugniježditi u bilo koje blokove.
  • Ovi blokovi mogu imati sva tri odjeljka bloka, u kojem je dio za izvođenje obavezan, a druga dva odjeljka su izborna.

Imenovani blokovi

Imenovani blokovi imaju specifično i jedinstveno ime za sebe. Oni su pohranjeni kao objekti baze podataka na poslužitelju. Budući da su dostupni kao objekti baze podataka, na njih se može pozivati ​​ili ih koristiti sve dok su prisutni na poslužitelju. Proces kompilacije za imenovane blokove odvija se odvojeno tijekom njihovog stvaranja kao objekata baze podataka.

Ispod je još nekoliko karakteristika imenovanih blokova.

  • Ovi blokovi se mogu pozvati iz drugih blokova.
  • Struktura bloka je ista kao kod anonimnog bloka, osim što nikada neće započeti ključnom riječi 'DECLARE'. Umjesto toga, počet će s ključnom riječi 'CREATE' koja nalaže kompajleru da ga stvori kao objekt baze podataka.
  • Ovi blokovi mogu biti ugniježđeni unutar drugih blokova. Također može sadržavati ugniježđene blokove.
  • Imenovani blokovi su u osnovi dvije vrste:
  1. Postupak
  2. funkcija

Naučit ćemo više o tim imenovanim blokovima u temama "Procedura" i "Funkcija" u kasnijem vodiču.

Rezime

Nakon ovog vodiča trebali biste biti svjesni PL/SQL blokova i njihovih vrsta, različitih dijelova blokova i njihove upotrebe. Detaljan opis imenovanih PL/SQL blokova bit će pokriven u kasnijem vodiču.

Dnevni bilten Guru99

Započnite dan s najnovijim i najvažnijim vijestima o umjetnoj inteligenciji koje vam donosimo upravo sada.