Úvod do slučiek v PL / SQL
Procedurálny jazyk / štruktúrovaný dopytovací jazyk alebo PL / SQL je procedurálnym rozšírením Oracle Corporation pre Oracle RDBMS. PL / SQL rozšíril SQL pridaním konštruktov používaných v procedurálnych jazykoch, aby sa umožnilo zložitejšie programovanie ako poskytuje SQL. Príkladom týchto štruktúr sú IF … THEN… ELSE, základné slučky, FOR slučky a WHILE slučky.
Vysvetlite rôzne typy slučiek v PL / SQL
Tento článok vám vysvetlí iteratívnu štruktúru riadenia, čo znamená slučky PL / SQL; umožní vám to opakovane spúšťať rovnaký kód. PL / SQL poskytuje tri rôzne typy slučiek:
- Jednoduchá alebo nekonečná slučka
- Slučka FOR
- WHILE loop
Každá z týchto slučiek je tu navrhnutá na konkrétny účel, pravidlá používania a pokyny na vytváranie vysoko kvalitných údajov.
Príklady rôznych slučiek
Zvážte nasledujúce tri postupy, aby ste pochopili rôzne slučky a ich schopnosť riešiť problémy rôznymi spôsobmi.
1. Simple Loop
Táto slučka je taká jednoduchá ako jej názov. Začína kľúčovým slovom LOOP a končí koncovým príkazom „END LOOP“.
syntax
LOOP
The sequence of statements;
END LOOP;
Tu, podľa vyššie uvedeného syntaxového kľúčového slova, 'LOOP' označuje začiatok slučky a 'END LOOP' označuje koniec slučky. Sekvencia časti príkazu môže obsahovať akýkoľvek príkaz na vykonanie.
Príklad jednoduchej slučky
Napíšme program, ktorý vytlačí multiplikačnú tabuľku z 18.
Vo vyššie uvedenej slučke nemáme vyhlásenie „EXIT“; znamená, že vykonanie výstupu bude nekonečné, kým tento program nezatvoríme manuálne.
Nižšie nájdete program s príkazom Exit:
Vysvetlenie vyššie uvedeného programu
V sekcii vyhlásenia sme deklarovali dve premenné; premenná v_counter bude slúžiť ako počítadlo a v_result bude držať výsledok násobenia.
V exekučnej časti máme jednoduchú slučku, tu máme tri výroky.
- Prvé vyhlásenie bude fungovať ako naše aktualizované vyhlásenie; Tým sa náš počítadlo aktualizuje a zvýši sa o 1.
- Druhý príkaz je aritmetický výraz, ktorý vykoná násobenie našej tabuľky a výsledok uloží do premennej v_result.
- Tretí príkaz je výstupný príkaz, ktorý vytlačí výsledok násobenia formátovaným spôsobom.
Použitie vyhlásenia o výstupe
Podľa príkazu exit ak v_counter> = 10, potom slučka s výstupom, čo znamená, že slučka sa vykoná 10-krát.
Výkon:
2. FOR Loop
Slučka FOR umožňuje opakovane vykonávať blok príkazov po pevne stanovený počet opakovaní.
syntax
FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;
- Prvý riadok syntaxe je príkaz loop, kde kľúčové slová FOR označujú začiatok slučky nasledovaný počítadlom slučky, čo je implicitná celočíselná premenná indexu.
- To znamená, že nemusíte definovať túto premennú v sekcii deklarácie, na rozdiel od ostatných slučiek, v ktorých musíme definovať počítadlo slučiek, sa implicitne zvýši aj o každú iteráciu slučky o 1.
- Kľúčové slovo IN je súčasťou programu FOR Loop.
- Kľúčové slovo REVERSE nie je povinné, ale vždy sa používa v spojení s kľúčovým slovom IN.
- Ak sa použije kľúčové slovo REVERSE, slučka sa iteruje v opačnom poradí.
- Lower_limit a upper_limit sú dve celé čísla. Tieto dve premenné definujú určitý počet opakovaní slučky.
- Ako bodový operátor slúžia dve bodky medzi týmito dvoma premennými.
- Potom máme telo slučky, čo môže byť príkaz alebo skupina príkazov.
- Na konci máme frázu END LOOP, ktorá označuje ukončenie slučky.
Príklad č. 1
Tu, podľa vyššie uvedeného programu, máme našu slučku FOR, ktorá vytlačí hodnotu premennej v_counter od 11 do 20.
Výkon:
Príklad č. 2: Teraz tlačme to isté v opačnom poradí pomocou FOR slučky.
Stačí pridať kľúčové slovo REVERSE po IN a pred 11, toto vykoná rovnaké o / p, ale v opačnom poradí.
3. WHILE Loop
Aj keď slučka vykonáva príkazy programu viackrát, je to najlepšie pre program, keď nie je známa žiadna z iterácií.
syntax
WHILE condition LOOP
Statement 1;
Statement 2;
…
Statement N;
END LOOP;
- Na rozdiel od inej syntaxe WHILE loop, je syntax veľmi ľahko zrozumiteľná. Tu, podľa vyššie uvedenej syntaxe, „WHILE“ označuje začiatok slučky spolu s podmienkou a „END LOOP“ označuje koniec slučky.
- Príkazy 1 až N sú spustiteľné príkazy definované v tele slučky. Nakoniec sme spomenuli END LOOP, ktorý označuje koniec slučky while.
- Na spustenie príkazov vo vnútri tela slučky while musí byť podmienka pravdivá.
Príklad: vytlačte multiplikačnú tabuľku 17 s použitím while while.
- V tomto príklade máme prvú premennú „v_counter“, ktorá bude slúžiť ako počítadlo a druhá premenná je „v_result“, ktorá bude držať výsledok násobenia.
- Tu je prvý príkaz aritmetický výraz vo vnútri WHILE slučky, ktorá bude robiť úlohu násobenia tabuľky a výsledok sa uloží do v_result.
- Druhým príkazom je príkaz print, ktorý vytlačí výsledky násobenia. Tretím príkazom je aktualizačné počítadlo, ktoré aktualizuje počítadlo pri každej iterácii
- Táto slučka bude fungovať, až kým nebudeme mať hodnotu počítadla väčšiu alebo rovnú 10 a WHILE slučka dostane ukončenú hodnotu 10 počítadla.
Výkon:
Výhody slučiek v PL / SQL
- Opakovaná použiteľnosť kódu je najlepšou výhodou slučiek, nemusíme opakovane písať kód pre každú iteráciu, pomocou slučiek môžeme kód znovu použiť v každej iterácii.
- Slučky nám tiež pomáhajú zmenšovať veľkosť kódu alebo veľkosť programu. Všetko, čo musíme urobiť, je len napísať jeden jednoduchý kód a vložiť ho do ktorejkoľvek slučky na dokončenie práce bez kódovania pre rôzne výstupy z toho istého programu.
- Výhodou slučiek je tiež zníženie zložitosti.
Záver - Slučky v PL / SQL
SQL je jediné rozhranie relačnej databázy a PL / SQL je procedurálne rozšírenie SQL. Je dôležité porozumieť tomu, ako funguje SQL a správne navrhovať databázy a obchodnú logiku, aby sa dosiahol správny výsledok. PL / SQL sa dá použiť vo vnútri databázy a má veľa výkonných funkcií. V databáze Oracle Database 12.1 existuje veľa vylepšení PL / SQL. Použite SQL vždy, keď je to možné, ale ak je váš dotaz príliš komplikovaný alebo sú potrebné procedurálne vlastnosti, je najlepšie použiť namiesto toho PL / SQL.
Odporúčané články
Toto bol sprievodca po slučkách v PL / SQL. Ďalej uvádzame príklady a rôzne typy slučiek s príkladmi. Ak sa chcete dozvedieť viac, môžete si pozrieť aj nasledujúce články -
- Čo je PL / SQL?
- Testovanie škálovateľnosti
- Čo je to programovací jazyk R?
- Čo je to PHP?
- Top 36 kľúčových slov v SQL s príkladmi
- Slučky v PowerShell | Druhy výhody