Oracle PL / SQL FOR LOOP s primjerom

Sadržaj:

Anonim

Što je za petlju?

Izjava "FOR LOOP" je najprikladnija kada želite izvršiti kôd poznat broj puta, a ne na temelju nekih drugih uvjeta.

U ovoj će se petlji odrediti donja i viša granica 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. Varijablu petlje ne treba deklarirati, jer je deklarirana implicitno.

FOR  in LOOPEND LOOP;
Objašnjenje sintakse:
  • U gornjoj sintaksi ključna riječ 'FOR' označava početak petlje, a 'END LOOP' kraj petlje.
  • Varijabla petlje procjenjuje se svaki put prije izvođenja izvršnog dijela.
  • Izvršni blok sadrži sav kôd koji treba izvršiti. Izvršni dio može sadržavati bilo koju izjavu o izvršenju.
  • Varijabla petlje deklarira se implicitno tijekom izvršavanja cijele petlje, a opseg ove petlje bit će samo unutar ove petlje.
  • Ako je varijabla petlje izašla iz raspona, tada će kontrola izaći iz petlje.
  • Petlja se može raditi obrnutim redoslijedom dodavanjem ključne riječi 'REVERSE' prije lower_limit.

Primjer 1 : U ovom ćemo primjeru ispisati broj od 1 do 5 pomoću naredbe FOR petlje. Za to ćemo izvršiti sljedeći kod.

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;/

Objašnjenje koda:

  • Redak koda 2 : Ispis izjave "Program je pokrenut".
  • Redak koda 3: Ključna riječ 'FOR' označava početak petlje i deklarisana_promjenjiva 'a' je proglašena. Sada će imati vrijednost koja počinje od 1 do 5
  • Redak koda 5: ispisuje vrijednost 'a'.
  • 6. redak koda: Ključna riječ 'END LOOP' označava kraj izvršnog bloka.
  • Kôd iz retka 5 nastavit će se izvršavati sve dok 'a' ne dosegne vrijednost 6, jer uvjet neće uspjeti, a kontrola će IZLAZITI iz petlje.
  • Redak koda 7: Ispis izjave "Program završen"

Ugniježđene petlje

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

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Objašnjenje sintakse:
  • U gornjoj sintaksi, vanjska petlja ima još jednu petlju unutar sebe.
  • Petlje mogu biti bilo koje vrste, a funkcionalnost izvršenja je jednaka.

Primjer 1 : U ovom ćemo primjeru ispisati broj od 1 do 3 pomoću naredbe FOR petlje. Svaki će se broj ispisati onoliko puta koliko mu je vrijednost. Za to ćemo izvršiti sljedeći kod.

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;/

Objašnjenje koda:

  • Redak koda 2 : Proglašavanje varijable "b" tipom podataka "BROJ".
  • Redak koda 4 : Ispis izjave "Program pokrenut".
  • Redak koda 5: Ključna riječ 'FOR' označava početak petlje i deklarirana__promjenjiva 'a' je proglašena. Sada će imati vrijednost koja počinje od 1 do 3
  • Redak koda 7: Svaki put resetiranje vrijednosti 'b' na '1'.
  • Redak koda 8: Unutarnja petlja while provjerava uvjet a> = b.
  • Redak koda 10: Ispisuje vrijednost 'a' sve dok je zadovoljen gornji uvjet.
  • Redak koda 14: Ispis izjave "Program završen"

Sažetak

Petlja ZA Loop
Kriteriji IZLAZA Izlaz kad brojač dosegne ograničenje
Upotreba Dobro se koristiti kada je poznato brojanje petlji koje treba izvršiti.