Ú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 -

  1. Co je PL / SQL?
  2. Testování škálovatelnosti
  3. Co je to programovací jazyk R?
  4. Co je PHP?
  5. 36 nejlepších klíčových slov v SQL s příklady
  6. Smyčky v PowerShell | Typy | Výhody