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. |
