Úvod do smyček v PL / SQL
Procedurální jazyk / strukturovaný dotazovací jazyk nebo PL / SQL je procedurální rozšíření Oracle Corporation pro Oracle RDBMS. PL / SQL rozšířil SQL přidáním konstruktů používaných v procedurálních jazycích pro umožnění složitějšího programování než poskytuje SQL. Příklady těchto struktur jsou IF… THEN… ELSE, základní smyčky, FOR smyčky a WHILE smyčky.
Vysvětlete různé typy smyček v PL / SQL
Tento článek vám vysvětlí iterativní kontrolní strukturu, která znamená smyčky PL / SQL; umožní vám to opakovaně spouštět stejný kód. PL / SQL poskytuje tři různé typy typů smyček:
- Jednoduchá nebo nekonečná smyčka
- Smyčka FOR
- WHILE smyčka
Zde je každá smyčka navržena pro konkrétní účel, pravidla pro použití a pokyny pro vysoce kvalitní tvorbu.
Příklady různých smyček
Zvažte následující tři postupy k pochopení různých smyček a jejich schopnosti řešit problémy různými způsoby.
1. Jednoduchá smyčka
Tato smyčka je stejně jednoduchá jako její název. Začíná klíčovým slovem LOOP a končí koncovým příkazem „END LOOP“.
Syntax
LOOP
The sequence of statements;
END LOOP;
Zde, podle výše uvedeného klíčového slova syntaxe, 'LOOP' označuje začátek smyčky a 'END LOOP' uvádí konec smyčky. Posloupnost části příkazu může obsahovat jakýkoli příkaz k provedení.
Příklad jednoduché smyčky
Pojďme napsat program pro tisk multiplikační tabulky 18.
Zde ve výše uvedené smyčce nemáme příkaz „EXIT“; znamená, že provádění výstupu bude pokračovat do nekonečna, dokud tento program ručně nezavřeme.
Níže uvedený program s příkazem Exit:
Vysvětlení výše uvedeného programu
V sekci prohlášení jsme deklarovali dvě proměnné; proměnná v_counter bude sloužit jako čítač a v_result bude držet výsledek násobení.
V sekci provádění máme jednoduchou smyčku, zde máme tři prohlášení.
- První prohlášení bude fungovat jako naše aktualizační prohlášení; Tím se náš čítač aktualizuje a zvýší se o 1.
- Druhý příkaz je aritmetický výraz, který provede násobení naší tabulky a výsledek uloží do proměnné v_result.
- Třetí příkaz je výstupní příkaz, který vytiskne výsledek násobení formátovaným způsobem.
Použití prohlášení o výstupu
Podle příkazu exit pokud v_counter> = 10, pak smyčka s výstupem, což znamená, že smyčka bude provedena 10krát.
Výstup:
2. FOR smyčka
Smyčka FOR umožňuje provádět opakovaně blok příkazů po pevně stanovený početkrát.
Syntax
FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;
- První řádek syntaxe je příkaz smyčky, kde klíčová slova FOR označují začátek smyčky následovaný čítačem smyčky, což je implicitní indexová celočíselná proměnná.
- To znamená, že tuto proměnnou nemusíte definovat v sekci pro deklaraci, na rozdíl od ostatních smyček, kde musíme definovat počitadlo smyček, se také implicitně zvýší o každou iteraci smyčky o 1.
- Klíčové slovo IN je součástí programu FOR Loop.
- Klíčové slovo REVERSE není povinné, ale vždy se používá ve spojení s klíčovým slovem IN.
- Pokud je použito klíčové slovo REVERSE, smyčka bude iterována v opačném pořadí.
- Dolní_limit a Horní_limit jsou dvě celá čísla. Tyto dvě proměnné definují řadu iterací smyčky.
- Jako operátor rozsahu slouží dvě tečky mezi těmito dvěma proměnnými.
- Pak máme tělo smyčky, což může být příkaz nebo skupina příkazů.
- Nakonec máme frázi END LOOP, která označuje konec smyčky.
Příklad č. 1
Zde podle výše uvedeného programu máme smyčku FOR, která vytiskne hodnotu proměnné v_counter od 11 do 20.
Výstup:
Příklad č. 2: Nyní vytiskneme totéž v opačném pořadí pomocí smyčky FOR.
Stačí přidat klíčové slovo REVERSE po IN a před 11, toto provede stejné o / p, ale v opačném pořadí.
3. WHILE Loop
Zatímco smyčka vykonává příkazy programu vícekrát, je to nejlépe použito pro program, když není známa žádná iterace.
Syntax
WHILE condition LOOP
Statement 1;
Statement 2;
…
Statement N;
END LOOP;
- Na rozdíl od jiné syntaxe WHILE smyčka je syntaxe velmi snadno pochopitelná. Zde, podle výše uvedené syntaxe, 'WHILE' označuje začátek smyčky spolu s podmínkou a 'END LOOP' uvádí konec smyčky.
- Příkazy 1 až N jsou spustitelné příkazy definované v těle smyčky. Kromě toho jsme nakonec zmínili END LOOP, který označuje konec smyčky while.
- Aby bylo možné spustit příkazy uvnitř těla cyklu while, podmínka musí být pravdivá.
Příklad: Tisk multiplikační tabulky 17 pomocí smyčky while.
- V tomto příkladu máme první proměnnou „v_counter“, která bude sloužit jako čítač, a druhou proměnnou je „v_result“, což bude držet výsledek násobení.
- Zde je první příkaz aritmetickým výrazem uvnitř WHILE smyčky, která bude dělat úlohu násobení tabulky a výsledek, bude uložena do v_result.
- Druhým příkazem je příkaz print, který vytiskne výsledky multiplikace. Třetí příkaz je aktualizační čítač, který aktualizuje čítač s každou iterací
- Tato smyčka bude pokračovat v práci, dokud nebudeme mít hodnotu čítače větší než nebo rovnou 10 a WHILE smyčka dostane ukončenou hodnotu čítače po 10.
Výstup:
Výhody smyček v PL / SQL
- Opětovné použití kódu je nejlepší výhodou smyček, nemusíme psát kód opakovaně pro každou iteraci, pomocí smyček můžeme znovu použít kód v každé iteraci.
- Smyčky nám také pomáhají snižovat velikost kódu nebo velikost programu. Musíme pouze napsat jeden jednoduchý kód a vložit jej do libovolné smyčky, aby byla práce dokončena bez kódování pro různé výstupy ze stejného programu.
- Výhodou smyček je také snížení složitosti.
Závěr - smyčky v PL / SQL
SQL je jediným rozhraním relační databáze a PL / SQL je procedurální rozšíření SQL. Je důležité pochopit, jak funguje SQL, a správně navrhovat databáze a obchodní logiku, aby bylo dosaženo správné sady výsledků. PL / SQL lze použít v databázi a má mnoho výkonných funkcí. V databázi Oracle Database 12.1 existuje mnoho vylepšení PL / SQL. Používejte SQL, kdykoli je to možné, ale pokud váš dotaz bude příliš komplikovaný nebo jsou potřeba procedurální funkce, je nejlepší místo toho použít PL / SQL.
Doporučené články
Toto byl průvodce smyčkami v PL / SQL. Zde také diskutujeme výhody a různé typy smyček s příklady. Další informace naleznete také v následujících článcích -
- Co je PL / SQL?
- Testování škálovatelnosti
- Co je to programovací jazyk R?
- Co je PHP?
- 36 nejlepších klíčových slov v SQL s příklady
- Smyčky v PowerShell | Typy | Výhody