PL/SQL smyčky

Pl Sql Smycky



Smyčky jsou jedním z primárních stavebních kamenů v programování. Smyčky používáme k vytvoření spravovatelných bloků kódu, které lze spustit vícekrát, když je určitá podmínka splněna. Jsou základním prvkem při automatizaci opakujících se úkolů bez opakovaného přepisování bloku kódu.

Stejně jako všechny hlavní programovací jazyky podporuje PL/SQL smyčky, které umožňují opakování sady instrukcí, dokud není splněna určitá podmínka.

V tomto tutoriálu prozkoumáme použití příkazu LOOP v PL/SQL k opakovanému provádění bloku kódu.







Oracle Loops

Jazyk PL/SQL podporuje různé konstrukce smyček, jako jsou smyčky „for“ a „while“. Můžeme vyjádřit syntaxi generické smyčky v Oracle, jak je ukázáno v následujícím:



<< označení >> SMYČKA
loop_statement;
END LOOP loop_label;

Obsahuje klíčové slovo LOOP a tělo cyklu, který se má provést, a je uzavřeno s klíčovým slovem END LOOP.



Blok LOOP spustí definované akce a po dokončení vrátí řízení do klauzule horní smyčky. To je obvykle uzavřeno v klauzuli EXIT nebo EXIT WHEN pro ukončení smyčky po splnění určité podmínky. To pomáhá předcházet nekonečným smyčkám.





Syntaxe Oracle For Loop:

Následující text ukazuje syntaxi smyčky „for“ v PL/SQL:

ZAČÍT
FOR loop_variable IN [lower_bound..upper_bound] LOOP
-- kód, který se má provést ve smyčce
KONEC SMYČKY;
KONEC;

Proměnná loop_variable vám umožňuje definovat smyčku, která se používá k řízení smyčky a dolní a horní hranice. Horní a dolní hranice určují hodnoty rozsahu, ve kterém dochází k vyhodnocení smyčky.



Oracle While Loops

Můžeme také definovat smyčky „while“ v PL/SQL, jak ukazuje následující syntaxe:

ZAČÍT
WHILE stav LOOP
-- akce smyčky
KONEC SMYČKY;
KONEC;

Ve smyčce „while“ se akce smyčky provádí opakovaně, dokud je podmínka pravdivá.

Oracle Cursor pro smyčky

Oracle také podporuje smyčky „cursor for“, které nám umožňují provádět sadu instrukcí pro každý řádek v dané sadě výsledků. Syntaxi lze vyjádřit následovně:

ZAČÍT
FOR loop_variable IN (SELECT sloupec1, sloupec2, ...
Z tabulky 1, tabulky 2, ...
WHERE podmínka) LOOP
-- akce smyčky
KONEC SMYČKY;
KONEC;

Příklad smyček v Oracle

Následující příklady pokrývají základy práce s kurzorovými smyčkami for, while a for v Oracle.

Příklad Oracle For Loop:

Tento příklad ukazuje, jak použít smyčku „for“ k tisku čísel od 1 do 10.

ZAČÍT
PRO i V 1..10 SMYČCE
DBMS_OUTPUT.PUT_LINE(i);
KONEC SMYČKY;
KONEC;

Příklad while Loop:

Můžeme provést podobnou akci pomocí smyčky while, jak je znázorněno v následujícím:

ZAČÍT
PROHLÁSIT
i ČÍSLO := 1;
ZAČÍT
KDYŽ i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i:= i + 1;
KONEC SMYČKY;
KONEC;
KONEC;

To by mělo provést podobnou akci jako smyčka „for“.

Příklad kurzoru pro smyčku:

Následující text ukazuje, jak pomocí smyčky „kurzor pro“ získat celé jméno zákazníka:

ZAČÍT
PRO zaměstnance IN (SELECT jméno, příjmení
OD zaměstnanců) LOOP
DBMS_OUTPUT.PUT_LINE(zaměstnanec.křestní_jméno || ' ' || zaměstnanec.příjmení);
KONEC SMYČKY;
KONEC;

Příklad výstupu:

Závěr

V tomto příspěvku jste se setkali se třemi hlavními typy smyček v jazyce Oracle PL/SQL. Pro další prozkoumání si můžete prohlédnout dokumentaci.