Zatímco Loop in Oracle PL/SQL s příkladem
Co je PL/SQL While Loop?
Zatímco Loop v PL/SQL funguje podobně jako příkaz základní smyčky, až na to, že podmínka EXIT je na samém začátku smyčky. Funguje to jako smyčka kontroly vstupu, kde se prováděcí blok provede pouze v případě, že je splněna podmínka, protože podmínka ukončení se kontroluje před provedením.
K opuštění smyčky explicitně nevyžaduje klíčové slovo 'EXIT', protože pokaždé implicitně ověřuje podmínku.
Syntaxe smyčky PL/SQL
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- Ve výše uvedené syntaxi klíčové slovo „WHILE“ označuje začátek smyčky a „END LOOP“ označuje konec smyčky.
- Podmínka EXIT je vyhodnocena vždy před zahájením provádění prováděcí části.
- Prováděcí blok obsahuje veškerý kód, který je třeba provést.
- Prováděcí část může obsahovat libovolný příkaz provedení.
Příklad Oracle PL/SQL While Loop
V tomto příkladu vytiskneme číslo od 1 do 5 pomocí příkazu smyčky WHILE. Za tímto účelem spustíme následující kód:

DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5)
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(‘Program completed' );
END:
/
Code Vysvětlení:
- Code linka 2: Deklaruje proměnnou 'a' jako datový typ 'NUMBER' a inicializuje ji hodnotou '1'.
- Code linka 4: Tisk prohlášení „Program spuštěn“.
- Code řádek 5: Klíčové slovo „WHILE“ označuje začátek cyklu a také kontroluje, zda je hodnota „a“ menší nebo rovna 5
- Code řádek 7: Vytiskne hodnotu 'a'.
- Code řádek 8: Zvýší hodnotu „a“ o +1.
- Code řádek 9: Klíčové slovo 'END LOOP' označuje konec bloku provádění.
- Kód z řádku 7 a řádku 8 se bude nadále provádět, dokud „a“ nedosáhne hodnoty 6, protože podmínka vrátí hodnotu TRUE a ovládací prvek opustí smyčka.
- Code řádek 10: Tisk prohlášení „Program dokončen“
Shrnutí
| Smyčka | WHILE Loop |
|---|---|
| EXIT Kritéria | Ukončete, když podmínka kontroly vrátí hodnotu false |
| Používání | Vhodné použít, když je počet smyček neznámý a ukončení je založeno na nějaké jiné podmínce. |
