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: /
Vysvětlení kódu:
- Řádek kódu 2: Deklaruje proměnnou 'a' jako datový typ 'NUMBER' a inicializuje ji hodnotou '1'.
- Řádek kódu 4: Tisk prohlášení „Program spuštěn“.
- Řádek kódu 5: Klíčové slovo „WHILE“ označuje začátek cyklu a také kontroluje, zda je hodnota „a“ menší nebo rovna 5
- Řádek kódu 7: Vytiskne hodnotu 'a'.
- Řádek kódu 8: Zvýší hodnotu „a“ o +1.
- Řádek kódu 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.
- Řádek kódu 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. |