Oracle PL / SQL FOR LOOP s primerom

Kazalo:

Anonim

Kaj je za zanko?

Stavek "FOR LOOP" je najprimernejši, če želite kodo izvajati znano število krat in ne na podlagi nekaterih drugih pogojev.

V tej zanki bosta določeni spodnja in zgornja meja in dokler bo spremenljivka zanke med tem obsegom, se zanka izvaja.

Spremenljivka zanke je samoinkrementalna, zato v tej zanki ni potrebna izrecna operacija povečanja. Spremenljivke zanke ni treba deklarirati, saj je deklarirana implicitno.

FOR  in LOOPEND LOOP;
Pojasnilo sintakse:
  • V zgornji sintaksi ključna beseda 'FOR' označuje začetek zanke, 'END LOOP' pa konec zanke.
  • Spremenljivka zanke se oceni vsakič, preden se izvede izvedbeni del.
  • Izvršitveni blok vsebuje vso kodo, ki jo je treba izvesti. Izvršilni del lahko vsebuje kateri koli stavek o izvedbi.
  • Zanka_variable je implicitno deklarirana med izvajanjem celotne zanke in obseg te zanke_variable bo samo znotraj te zanke.
  • Če je spremenljivka zanke prišla iz obsega, bo nadzor izstopil iz zanke.
  • Zanko lahko nastavite tako, da deluje v obratnem vrstnem redu, tako da pred spodnjo_mejo dodate ključno besedo 'REVERSE'.

Primer 1 : V tem primeru bomo natisnili številko od 1 do 5 z uporabo stavka zanke FOR. Za to bomo izvedli naslednjo kodo.

BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/

Razlaga kode:

  • Vrstica kode 2 : Tiskanje stavka "Program se je začel".
  • Vrstica kode 3: Ključna beseda 'FOR' označuje začetek zanke in deklarirana je zanka_variable 'a'. Zdaj bo imela vrednost od 1 do 5
  • Vrstica kode 5: natisne vrednost 'a'.
  • 6. vrstica kode: Ključna beseda 'END LOOP' označuje konec izvedbenega bloka.
  • Koda iz vrstice 5 se bo še naprej izvajala, dokler 'a' ne bo dosegla vrednosti 6, saj pogoj ne bo uspel, nadzor pa bo IZHOD iz zanke.
  • 7. vrstica kode: tiskanje izjave "Program zaključen"

Vgnezdene zanke

Izjave zanke lahko tudi ugnezdijo. Zunanja in notranja zanka sta lahko različnih vrst. V ugnezdeni zanki se bo vsaka ponovitvena vrednost zunanje zanke v celoti izvedla.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Pojasnilo sintakse:
  • V zgornji skladnji ima zunanja zanka še eno zanko.
  • Zanke so lahko katere koli vrste in izvedbeni del je enak.

Primer 1 : V tem primeru bomo natisnili številko od 1 do 3 z uporabo stavka FOR. Vsaka številka bo natisnjena tolikokrat, kolikor je njena vrednost. Za to bomo izvedli naslednjo kodo.

DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP;‭ END LOOP;‭ ‬dbms_output.put_line('Program completed' );END;/

Razlaga kode:

  • 2. vrstica kode : Spremenljivka 'b' se razglasi za podatkovni tip 'ŠTEVILO'.
  • Vrstica kode 4 : Tiskanje stavka "Program se je začel".
  • Vrstica kode 5: Ključna beseda 'FOR' označuje začetek zanke in zanka_variable 'a' je deklarirana. Zdaj bo imela vrednost od 1 do 3
  • Vrstica kode 7: Vsakič ponastavite vrednost 'b' na '1'.
  • Vrstica kode 8: Notranja zanka while preverja stanje a> = b.
  • Vrstica kode 10: natisne vrednost 'a', če je izpolnjen zgornji pogoj.
  • Vrstica kode 14: Tiskanje stavka "Program zaključen"

Povzetek

Loop ZA zanko
Merila IZHODA Izhod, ko števec doseže mejo
Uporaba Dobro je uporabiti, ko je znano štetje zank.