Oracle PL / SQL FOR LOOP s příkladem

Obsah:

Anonim

Co je For Loop?

Příkaz „FOR LOOP“ je nejvhodnější, pokud chcete spustit kód známým počtem opakování, než na základě jiných podmínek.

V této smyčce bude zadán dolní limit a horní limit a pokud bude proměnná smyčky mezi tímto rozsahem, bude smyčka provedena.

Proměnná smyčky je samo-přírůstková, takže v této smyčce není potřeba žádná explicitní operace přírůstku. Proměnná smyčky nemusí být deklarována, protože je deklarována implicitně.

FOR  in LOOPEND LOOP;
Vysvětlení syntaxe:
  • Ve výše uvedené syntaxi klíčové slovo „FOR“ označuje začátek smyčky a „END LOOP“ označuje konec smyčky.
  • Proměnná smyčky je vyhodnocena pokaždé před provedením prováděcí části.
  • Blok provádění obsahuje veškerý kód, který je třeba provést. Exekuční část může obsahovat jakýkoli exekuční příkaz.
  • Loop_variable je deklarován implicitně během provádění celé smyčky a rozsah této loop_variable bude pouze uvnitř této smyčky.
  • Pokud proměnná smyčky vyšla z rozsahu, pak řízení opustí smyčku.
  • Smyčku lze nastavit tak, aby fungovala v opačném pořadí, a to přidáním klíčového slova „REVERSE“ před lower_limit.

Příklad 1 : V tomto příkladu budeme tisknout číslo od 1 do 5 pomocí příkazu smyčky FOR. Za tímto účelem provedeme následující 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;/

Vysvětlení kódu:

  • Řádek kódu 2 : Tisk prohlášení „Program spuštěn“.
  • Řádek kódu 3: Klíčové slovo „FOR“ označuje začátek smyčky a je deklarována smyčková proměnná „a“. Nyní bude mít hodnotu od 1 do 5
  • Řádek kódu 5: Vytiskne hodnotu 'a'.
  • Řádek kódu 6: Klíčové slovo „END LOOP“ označuje konec bloku provádění.
  • Kód z řádku 5 se bude i nadále spouštět, dokud hodnota „a“ nedosáhne hodnoty 6, protože podmínka selže, a ovládací prvek EXIT ze smyčky.
  • Řádek kódu 7: Tisk prohlášení „Program dokončen“

Vnořené smyčky

Příkazy smyčky lze také vnořit. Vnější a vnitřní smyčka mohou být různých typů. Ve vnořené smyčce se pro každou jednu iterační hodnotu vnější smyčky provede vnitřní smyčka plně.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Vysvětlení syntaxe:
  • Ve výše uvedené syntaxi má vnější smyčka uvnitř ještě jednu smyčku.
  • Smyčky mohou být jakéhokoli typu a část funkce provádění je stejná.

Příklad 1 : V tomto příkladu budeme tisknout číslo od 1 do 3 pomocí příkazu smyčky FOR. Každé číslo bude vytištěno tolikrát, kolikrát je jeho hodnota. Za tímto účelem provedeme následující 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;/

Vysvětlení kódu:

  • Řádek kódu 2 : Deklarace proměnné „b“ jako datového typu „ČÍSLO“.
  • Řádek kódu 4 : Tisk prohlášení „Program spuštěn“.
  • Řádek kódu 5: Klíčové slovo „FOR“ označuje začátek smyčky a je deklarována smyčková proměnná „a“. Nyní bude mít hodnotu od 1 do 3
  • Řádek kódu 7: Pokaždé resetování hodnoty „b“ na „1“.
  • Řádek kódu 8: Vnitřní smyčka while kontroluje stav a> = b.
  • Řádek kódu 10: Tiskne hodnotu 'a', pokud je splněna výše uvedená podmínka.
  • Řádek kódu 14: Tisk prohlášení „Program dokončen“

souhrn

Smyčka PRO smyčku
KONEC Kritéria Ukončete, když počitadlo dosáhne limitu
Používání Dobré použít, když je znám počet smyček, které mají být provedeny.