Oracle PL / SQL FOR LOOP s príkladom

Obsah:

Anonim

Čo je For Loop?

Výrok „FOR LOOP“ je najvhodnejší, ak chcete kód spustiť viackrát, ako na základe iných podmienok.

V tejto slučke bude zadaná dolná a horná hranica a pokiaľ bude premenná slučky medzi týmto rozsahom, bude slučka vykonaná.

Premenná cyklu je samoinkrementálna, takže v tejto slučke nie je potrebná žiadna explicitná operácia prírastku. Premenná cyklu nemusí byť deklarovaná, pretože je deklarovaná implicitne.

FOR  in LOOPEND LOOP;
Vysvetlenie syntaxe:
  • Vo vyššie uvedenej syntaxi kľúčové slovo „FOR“ označuje začiatok slučky a „END LOOP“ označuje koniec slučky.
  • Premenná slučky sa vyhodnocuje zakaždým pred vykonaním časti vykonania.
  • Exekučný blok obsahuje všetok kód, ktorý je potrebné vykonať. Exekučná časť môže obsahovať akýkoľvek exekučný príkaz.
  • Loop_variable je deklarovaný implicitne počas vykonávania celej slučky a rozsah tejto loop_variable bude iba vo vnútri tejto slučky.
  • Ak premenná slučky vyšla z rozsahu, potom riadenie zo slučky vystúpi.
  • Smyčku je možné nastaviť tak, aby fungovala v opačnom poradí, a to pridaním kľúčového slova „REVERSE“ pred lower_limit.

Príklad 1 : V tomto príklade budeme tlačiť číslo od 1 do 5 pomocou príkazu slučky FOR. Za týmto účelom vykonáme nasledujúci kód.

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

Vysvetlenie kódu:

  • Riadok kódu 2 : Tlač vyhlásenia „Program spustený“.
  • Riadok kódu 3: Kľúčové slovo „FOR“ označuje začiatok slučky a je deklarovaná loop_variable „a“. Teraz bude mať hodnotu začínajúcu od 1 do 5
  • Riadok kódu 5: Vytlačí hodnotu „a“.
  • Riadok kódu 6: Kľúčové slovo „END LOOP“ označuje koniec bloku vykonania.
  • Kód z riadku 5 sa bude naďalej vykonávať, kým znak „a“ nedosiahne hodnotu 6, pretože podmienka zlyhá a ovládací prvok ukončí smyčku.
  • Riadok kódu 7: Tlač výpisu „Program je dokončený“

Vnorené slučky

Príkazy cyklu môžu byť tiež vnorené. Vonkajšia a vnútorná slučka môžu byť rôznych typov. Vo vnorenej slučke sa pre každú jednu iteračnú hodnotu vonkajšej slučky vnútorná slučka vykoná úplne.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Vysvetlenie syntaxe:
  • Vo vyššie uvedenej syntaxi má vonkajšia slučka v sebe ešte jednu slučku.
  • Smyčky môžu byť ľubovoľného typu a časť s funkčnosťou vykonávania je rovnaká.

Príklad 1 : V tomto príklade budeme tlačiť číslo od 1 do 3 pomocou príkazu slučky FOR. Každé číslo bude vytlačené toľkokrát, koľko je jeho hodnoty. Za týmto účelom vykonáme nasledujúci kód.

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

Vysvetlenie kódu:

  • Riadok kódu 2 : Deklarácia premennej „b“ ako dátového typu „NUMBER“.
  • Riadok kódu 4 : Tlač vyhlásenia „Program spustený“.
  • Riadok kódu 5: Kľúčové slovo „FOR“ označuje začiatok slučky a je deklarovaná loop_variable „a“. Teraz bude mať hodnotu začínajúcu od 1 do 3
  • Riadok kódu 7: Zakaždým vynulovanie hodnoty „b“ na „1“.
  • Riadok kódu 8: Vnútorná slučka while kontroluje stav a> = b.
  • Riadok kódu 10: Vytlačí hodnotu „a“, pokiaľ je splnená vyššie uvedená podmienka.
  • Riadok kódu 14: Tlač výpisu „Program je dokončený“

Zhrnutie

Slučka PRE slučku
Kritériá ODCHODU Vyjdite, keď počítadlo dosiahne limit
Využitie Dobré použiť, keď je známy počet slučiek, ktoré sa majú vykonať.