PL / SQL blok: STRUKTURA, Sintaksa, ANONIMEN Primer

Kazalo:

Anonim

Kaj je PL / SQL blok?

V PL / SQL se koda ne izvaja v enovrstični obliki, ampak se vedno izvaja z združevanjem kode v en element, imenovan Blocks. V tej vadnici boste izvedeli več o teh blokih.

Bloki vsebujejo PL / SQL in tudi navodila SQL. Vsa ta navodila se bodo izvajala kot celota in ne bodo izvajala posameznih navodil hkrati.

V tej vadnici boste izvedeli:

  • Kaj je PL / SQL blok?
  • Struktura bloka
  • Sintaksa blokov PL / SQL
  • Vrste blokov PL / SQL

Struktura bloka

Bloki PL / SQL imajo vnaprej določeno strukturo, v kateri naj bo koda združena. Spodaj so različni odseki blokov PL / SQL.

  1. Oddelek za izjave
  2. Izvedbeni oddelek
  3. Razdelek o ravnanju z izjemami

Spodnja slika prikazuje različne bloke PL / SQL in njihov vrstni red odsekov.

Oddelek za izjave

To je prvi del blokov PL / SQL. Ta odsek je neobvezen del. To je razdelek, v katerem bo deklarirana spremenljivka, kazalci, izjeme, podprogrami, pragma navodila in zbirke, ki so potrebne v bloku. Spodaj je še nekaj značilnosti tega dela.

  • Ta razdelek ni obvezen in ga lahko preskočite, če izjave niso potrebne.
  • To bi moral biti prvi odsek v bloku PL / SQL, če je prisoten.
  • Ta odsek se začne s ključno besedo 'DECLARE' za sprožilce in anonimni blok. Za druge podprograme ta ključna beseda ne bo prisotna. Namesto tega del za definicijo imena podprograma označuje odsek deklaracije.
  • Temu razdelku mora vedno slediti odsek za izvajanje.

Izvršilni oddelek

Izvedbeni del je glavni in obvezni del, ki dejansko izvrši kodo, ki je zapisana v njem. Ker PL / SQL pričakuje izvršljive stavke iz tega bloka, to ne more biti prazen blok, tj. V njem mora biti vsaj ena veljavna izvedljiva kodna vrstica. Spodaj je še nekaj značilnosti tega dela.

  • Ta lahko vsebuje tako kodo PL / SQL kot tudi kodo SQL.
  • Vsebuje lahko enega ali več blokov znotraj ugnezdenega bloka.
  • Ta odsek se začne s ključno besedo "ZAČNI".
  • Temu razdelku mora slediti bodisi 'KONEC' bodisi razdelek o obravnavi izjem

Oddelek za obravnavo izjem:

Izjema je neizogibna v programu, ki se zgodi med izvajanjem, in Oracle je za obdelavo tega zagotovil razdelek o obdelavi izjem v blokih. Ta razdelek lahko vsebuje tudi izjave PL / SQL. To je neobvezen odsek blokov PL / SQL.

  • To je razdelek, v katerem se obravnava izjema, ki je bila postavljena v izvedbenem bloku.
  • Ta razdelek je zadnji del bloka PL / SQL.
  • Nadzor iz tega odseka se nikoli ne more vrniti v izvedbeni blok.
  • Ta odsek se začne s ključno besedo 'EXCEPTION'.
  • Temu razdelku mora vedno slediti ključna beseda 'KONEC'.

Ključna beseda 'END' označuje konec bloka PL / SQL.

Sintaksa blokov PL / SQL

Spodaj je sintaksa blokovne strukture PL / SQL.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Opomba: Bloku mora vedno slediti '/', ki prevajalniku pošlje informacije o koncu bloka.

Vrste blokov PL / SQL

Bloki PL / SQL so v glavnem dveh vrst.

  1. Anonimni bloki
  2. Imenovani bloki

Anonimni bloki:

Anonimni bloki so bloki PL / SQL, ki jim niso dodeljena nobena imena. Ustvariti jih je treba in uporabiti v isti seji, ker ne bodo shranjeni na strežniku kot predmeti baze podatkov.

Ker jih ni treba shraniti v bazo podatkov, ne potrebujejo nobenih korakov za prevajanje. Napišejo se in izvedejo neposredno, sestavljanje in izvajanje pa se izvede v enem samem postopku.

Spodaj je še nekaj značilnosti anonimnih blokov.

  • Ti bloki nimajo določenega referenčnega imena.
  • Ti bloki se začnejo s ključno besedo 'IZJAVI' ali 'ZAČNI'.
  • Ker ti bloki nimajo nobenega referenčnega imena, jih kasneje ni mogoče shraniti. Ustvarjeni in izvedeni bodo na isti seji.
  • Lahko pokličejo druge imenovane bloke, vendar klic anonimnega bloka ni mogoč, ker nima nobene reference.
  • V njem je lahko ugnezden blok, ki je lahko imenovan ali anonimen. Prav tako se lahko ugnezdi v poljubne bloke.
  • Ti bloki imajo lahko vse tri odseke bloka, v katerih je izvedbeni odsek obvezen, druga dva odseka sta neobvezna.

Imenovani bloki:

Poimenovani bloki imajo zanje posebno in edinstveno ime. Shranjeni so kot predmeti baze podatkov v strežniku. Na voljo so kot objekti baze podatkov, nanje se lahko sklicuje ali jih uporablja, dokler je prisoten na strežniku. Proces prevajanja za imenovane bloke se zgodi ločeno, medtem ko jih ustvarjamo kot predmete baze podatkov.

Spodaj je še nekaj značilnosti poimenovanih blokov.

  • Te bloke lahko prikličete iz drugih blokov.
  • Struktura bloka je enaka anonimnemu bloku, le da se nikoli ne bo začela s ključno besedo 'DECLARE'. Namesto tega se bo začelo s ključno besedo 'CREATE', ki prevajalniku naroči, naj jo ustvari kot objekt baze podatkov.
  • Ti bloki se lahko ugnezdijo v druge bloke. Vsebuje lahko tudi ugnezdene bloke.
  • Imenovani bloki so v bistvu dveh vrst:
  1. Postopek
  2. Funkcija
Več o teh imenovanih blokih bomo izvedeli v temah "Postopek" in "Funkcija" v kasnejših vajah.

Povzetek

Po tej vadnici morate poznati bloke PL / SQL in njihove vrste, različne odseke blokov in njihovo uporabo. Podroben opis imenovanih blokov PL / SQL bo zajet v kasnejši vadnici.