Dok se petlja ulazi Oracle PL/SQL s primjerom
ล to je PL/SQL while petlja?
Dok petlja u PL/SQL radi sliฤno osnovnoj naredbi petlje, osim ลกto je uvjet EXIT na samom poฤetku petlje. Funkcionira kao petlja za provjeru ulaza gdje ฤe se izvrลกni blok izvrลกiti samo ako je uvjet zadovoljen, jer se izlazni uvjet provjerava prije izvrลกenja.
Ne zahtijeva eksplicitno kljuฤnu rijeฤ 'EXIT' za izlazak iz petlje jer svaki put implicitno potvrฤuje uvjet.
PL/SQL Sintaksa dok petlje
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- U gornjoj sintaksi kljuฤna rijeฤ 'WHILE' oznaฤava poฤetak petlje, a 'END LOOP' oznaฤava kraj petlje.
- EXIT uvjet se procjenjuje svaki put prije nego ลกto izvrลกni dio poฤne s izvoฤenjem.
- Izvrลกni blok sadrลพi sav kod koji treba izvrลกiti.
- Izvrลกni dio moลพe sadrลพavati bilo koju naredbu o izvrลกenju.
Primjer Oracle PL/SQL dok petlja
U ovom primjeru ispisat ฤemo brojeve od 1 do 5 koristeฤi naredbu petlje WHILE. Za to ฤemo izvrลกiti sljedeฤi kod:

DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5)
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(โProgram completed' );
END:
/
Objaลกnjenje koda:
- Kodna linija 2: Deklaracija varijable 'a' kao tipa podataka 'BROJ' i njeno inicijaliziranje s vrijednoลกฤu '1'.
- Kodna linija 4: Ispis izjave โProgram je pokrenutโ.
- Redak koda 5: Kljuฤna rijeฤ 'WHILE' oznaฤava poฤetak petlje, a takoฤer provjerava je li vrijednost 'a' manja ili jednaka 5
- Redak koda 7: Ispisuje vrijednost 'a'.
- Redak koda 8: Poveฤava vrijednost 'a' za +1.
- Redak koda 9: Kljuฤna rijeฤ 'END LOOP' oznaฤava kraj izvedbenog bloka.
- Kod iz retka 7 i retka 8 nastavit ฤe se izvrลกavati sve dok 'a' ne dosegne vrijednost 6, jer ฤe uvjet vratiti TRUE, a kontrola ฤe IZLAZITI iz petlja.
- Redak koda 10: Ispis izjave "Program zavrลกen"
Rezime
| Petlja | WHILE petlja |
|---|---|
| Kriteriji za IZLAZ | Izaฤite kada uvjet provjere vrati false |
| Upotreba | Dobro je koristiti kada je broj petlji nepoznat, a izlaz se temelji na nekom drugom uvjetu. |
