„Oracle PL / SQL FOR LOOP“ su pavyzdžiu

Turinys:

Anonim

Kas yra „Loop“?

„FOR LOOP“ sakinys geriausiai tinka, kai norite vykdyti kodą žinomą skaičių kartų, o ne remdamasis kitomis sąlygomis.

Šioje linijoje bus nurodyta apatinė ir didžiausia ribos ir tol, kol ciklo kintamasis bus tarp šio diapazono, kilpa bus vykdoma.

Ciklo kintamasis yra savaiminis, todėl šioje kilpoje nereikia aiškaus prieaugio operacijos. Ciklo kintamojo nereikia deklaruoti, nes jis deklaruojamas netiesiogiai.

FOR  in LOOPEND LOOP;
Sintaksės paaiškinimas:
  • Pirmiau pateiktoje sintaksėje raktinis žodis „FOR“ žymi ciklo pradžią, o „END LOOP“ - ciklo pabaigą.
  • Kintamasis kintamasis vertinamas kiekvieną kartą prieš vykdant vykdymo dalį.
  • Vykdymo bloke yra visas kodas, kurį reikia vykdyti. Vykdymo dalyje gali būti bet koks vykdymo sakinys.
  • Kilpinis_kintamasis yra deklaruojamas netiesiogiai vykdant visą kilpą, o šio ciklo_kintamojo apimtis bus tik šios kilpos viduje.
  • Jei kilpos kintamasis išėjo iš diapazono, tada valdymas išeis iš kilpos.
  • Kilpa gali būti priversta veikti atvirkštine tvarka pridėjus raktinį žodį „REVERSE“ prieš Lower_limit.

1 pavyzdys : Šiame pavyzdyje mes spausdinsime skaičių nuo 1 iki 5, naudodami FOR ciklo sakinį. Tam mes vykdysime šį 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;/

Kodo paaiškinimas:

  • 2 kodo eilutė : išspausdinkite teiginį „Programa paleista“.
  • 3 kodo eilutė: raktinis žodis „FOR“ žymi ciklo pradžią, o „loop_variable“ yra deklaruojamas. Dabar jo vertė bus nuo 1 iki 5
  • 5 kodo eilutė: išspausdinama „a“ reikšmė.
  • Kodo 6 eilutė: Raktinis žodis „END LOOP“ žymi vykdymo bloko pabaigą.
  • Kodas iš 5 eilutės bus vykdomas tol, kol „a“ pasieks 6 reikšmę, nes sąlyga nepavyks ir valdymas išeis iš kilpos.
  • Kodo 7 eilutė: ataskaitos „Programa baigta“ spausdinimas

Įdėtos kilpos

Taip pat gali būti įdėti ciklo sakiniai. Išorinė ir vidinė kilpa gali būti skirtingų tipų. Įdėtoje kilpoje kiekviena išorinės kilpos iteracijos vertė bus visiškai įvykdyta.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Sintaksės paaiškinimas:
  • Pirmiau pateiktoje sintaksėje išorinėje kilpoje yra dar viena kilpa.
  • Kilpos gali būti bet kokio tipo, o vykdymo funkcijų dalis yra ta pati.

1 pavyzdys : Šiame pavyzdyje mes spausdinsime skaičių nuo 1 iki 3, naudodami FOR ciklo sakinį. Kiekvienas skaičius bus spausdinamas tiek kartų, kiek jo vertė. Tam mes vykdysime šį 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;/

Kodo paaiškinimas:

  • 2 kodo eilutė : kintamojo „b“ deklaravimas kaip „NUMBER“ duomenų tipo.
  • 4 kodo eilutė : išspausdinkite teiginį „Programa paleista“.
  • 5 kodo eilutė: raktinis žodis „FOR“ žymi ciklo pradžią, o „loop_variable“ yra deklaruojamas. Dabar jo vertė bus nuo 1 iki 3
  • 7 kodo eilutė: „b“ reikšmė kiekvieną kartą nustatoma į „1“.
  • 8 kodo eilutė: Vidinė, o kilpa tikrina sąlygą a> = b.
  • 10 kodo eilutė: spausdinama „a“ reikšmė, jei tenkinama pirmiau nurodyta sąlyga.
  • Kodo 14 eilutė: ataskaitos „Programa baigta“ spausdinimas

Santrauka

Kilpa UŽ kilpą
EXIT kriterijai Išeikite, kai skaitiklis pasiekia ribą
Naudojimas Gerai naudoti, kai žinomas vykdomas kilpų skaičius.