Oracle PL/SQL FOR LOOP s primjerom

Što je For Loop?

Izjava "FOR LOOP" je najprikladnija kada želite izvršiti kod poznati broj puta, a ne na temelju nekih drugih uvjeta.

U ovoj petlji, donja granica i viša granica bit će navedene i sve dok je varijabla petlje između ovog raspona, petlja će se izvršavati.

Varijabla petlje je samoinkrementalna, tako da u ovoj petlji nije potrebna eksplicitna operacija povećanja. Varijabla petlje ne mora biti deklarirana, jer je deklarirana implicitno.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Objašnjenje sintakse:

  • U gornjoj sintaksi ključna riječ 'FOR' označava početak petlje, a 'END LOOP' označava kraj petlje.
  • Varijabla petlje se procjenjuje svaki put prije izvođenja izvršnog dijela.
  • Izvršni blok sadrži sav kod koji treba izvršiti. Izvršni dio može sadržavati bilo koju naredbu o izvršenju.
  • Varijabla_petlje deklarirana je implicitno tijekom izvođenja cijele petlje, a opseg ove varijable_petlje bit će samo unutar ove petlje.
  • Ako je varijabla petlje izašla iz raspona, kontrola će izaći iz petlje.
  • Petlja se može natjerati da radi obrnutim redoslijedom dodavanjem ključne riječi 'REVERSE' ispred lower_limit.

Primjer 1: U ovom primjeru ispisat ćemo brojeve od 1 do 5 koristeći naredbu FOR petlje. Za to ćemo izvršiti sljedeći kod.

Oracle PL/SQL PETLJA ZA

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

Objašnjenje koda:

  • Kodna linija 2: Ispis izjave “Program je pokrenut”.
  • Redak koda 3: Ključna riječ 'FOR' označava početak petlje i deklarirana je varijabla petlje 'a'. Sada će imati vrijednost koja počinje od 1 do 5
  • Redak koda 5: Ispisuje vrijednost 'a'.
  • Redak koda 6: Ključna riječ 'END LOOP' označava kraj izvedbenog bloka.
  • Kôd iz retka 5 nastavit će se izvršavati dok 'a' ne dosegne vrijednost 6, budući da uvjet neće uspjeti, a kontrola će IZLAZITI iz petlje.
  • Redak koda 7: Ispis izjave "Program završen"

Ugniježđene petlje

Naredbe petlje također mogu biti ugniježđene. Vanjska i unutarnja petlja mogu biti različitih vrsta. U ugniježđenoj petlji, za svaku vrijednost iteracije vanjske petlje, unutarnja petlja će se u potpunosti izvršiti.

Ugniježđene petlje

LOOP -outer
<execution block starts>
LOOP — inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Objašnjenje sintakse:

  • U gornjoj sintaksi, vanjska petlja ima još jednu unutar sebe.
  • Petlje mogu biti bilo koje vrste, a dio funkcionalnosti izvršenja je isti.

Primjer 1: U ovom primjeru ispisat ćemo brojeve od 1 do 3 koristeći naredbu FOR petlje. Svaki će se broj ispisati onoliko puta koliko iznosi njegova vrijednost. Za to ćemo izvršiti sljedeći kod.

Ugniježđene petlje

Ugniježđene petlje

DECLARE 
b NUMBER;
BEGIN
dbms output put line(‘Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;‭	
END LOOP;‭	‬
dbms_output.put_line('Program completed' );
END;
/

Objašnjenje koda:

  • Kodna linija 2: Deklaracija varijable 'b' kao tipa podataka 'BROJ'.
  • Kodna linija 4: Ispis izjave “Program je pokrenut”.
  • Redak koda 5: Ključna riječ 'FOR' označava početak petlje i deklarirana je varijabla petlje 'a'. Sada će imati vrijednost koja počinje od 1 do 3
  • Redak koda 7: Ponovno postavljanje vrijednosti 'b' na '1' svaki put.
  • Redak koda 8: Unutrašnji dok petlje provjerava uvjet a>=b.
  • Redak koda 10: Ispisuje vrijednost 'a' sve dok je gornji uvjet zadovoljen.
  • Redak koda 14: Ispis izjave "Program završen"

rezime

Petlja FOR petlja
Kriteriji za IZLAZ Izađite kada brojač dosegne granicu
Upotreba Dobro je koristiti kada je poznat broj petlji koje treba izvršiti.