Zanke PL/SQL

Zanke Pl Sql



Zanke so eden od primarnih gradnikov v programiranju. Uporabljamo zanke za ustvarjanje obvladljivih blokov kode, ki jih je mogoče večkrat izvesti, ko je določen pogoj resničen. So temeljna kost pri avtomatizaciji ponavljajočih se nalog brez večkratnega ponovnega pisanja bloka kode.

Kot vsi večji programski jeziki tudi PL/SQL podpira zanke, ki omogočajo ponavljanje nabora navodil, dokler ni izpolnjen določen pogoj.

V tej vadnici bomo raziskali uporabo stavka LOOP v PL/SQL za ponavljajoče se izvajanje bloka kode.







Oracle Loops

Jezik PL/SQL podpira različne konstrukcije zank, kot sta zanka »for« in zanka »while«. V Oraclu lahko izrazimo sintakso generične zanke, kot je prikazano v naslednjem:



<< oznaka >> ZANKA
stavek_zanke;
KONČNA ZANKA oznaka_zanke;

Ta vsebuje ključno besedo LOOP in telo zanke, ki jo je treba izvesti, in je obdan s ključno besedo END LOOP.



Blok LOOP zažene definirana dejanja in po zaključku vrne nadzor zgornjemu členu zanke. To je običajno vključeno v klavzulo EXIT ali EXIT WHEN za prekinitev zanke, ko je izpolnjen določen pogoj. To pomaga preprečiti neskončne zanke.





Sintaksa Oracle For Loop:

Naslednje prikazuje sintakso zanke »za« v PL/SQL:

ZAČETI
FOR spremenljivka_zanke IN [spodnja_meja..zgornja_meja] ZANKA
-- koda, ki se izvede v zanki
KONČNA ZANKA;
KONEC;

loop_variable vam omogoča, da definirate zanko, ki se uporablja za nadzor zanke ter spodnje in zgornje meje. Zgornja in spodnja meja določata vrednosti obsega, kjer pride do vrednotenja zanke.



Oracle While Loops

Definiramo lahko tudi zanke »while« v PL/SQL, kot je razvidno iz naslednje sintakse:

ZAČETI
WHILE pogoj ZANKA
-- dejanje zanke
KONČNA ZANKA;
KONEC;

V zanki »while« se dejanje zanke izvaja večkrat, medtem ko je pogoj resničen.

Oracle Cursor For Loops

Oracle prav tako podpira zanke 'cursor for', ki nam omogočajo, da izvedemo nabor navodil za vsako vrstico v danem nizu rezultatov. Sintakso lahko izrazimo takole:

ZAČETI
FOR spremenljivka_zanke IN (IZBERI stolpec1, stolpec2, ...
OD tabele1, tabele2, ...
WHERE pogoj) ZANKA
-- dejanje zanke
KONČNA ZANKA;
KONEC;

Primeri zank v Oraclu

Naslednji primeri pokrivajo osnove dela s kazalnimi zankami for, while in for v Oraclu.

Primer Oracle For Loop:

Ta primer prikazuje, kako uporabiti zanko »za« za tiskanje števil od 1 do 10.

ZAČETI
ZA i V 1..10 ZANKI
DBMS_OUTPUT.PUT_LINE(i);
KONČNA ZANKA;
KONEC;

Primer zanke Medtem:

Podobno dejanje lahko izvedemo z uporabo zanke while, kot je prikazano v nadaljevanju:

ZAČETI
IZJAVA
i ŠTEVILO := 1;
ZAČETI
WHILE i <= 10 ZANKA
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
KONČNA ZANKA;
KONEC;
KONEC;

To bi moralo izvesti podobno dejanje kot zanka »for«.

Primer kazalca za zanko:

Naslednje prikazuje, kako uporabiti zanko »kurzor za«, da dobite polno ime stranke:

ZAČETI
ZA zaposlenega IN (IZBERITE ime, priimek
OD zaposlenih) ZANKA
DBMS_OUTPUT.PUT_LINE(employee.first_name || ' ' || Employee.last_name);
KONČNA ZANKA;
KONEC;

Primer izhoda:

Zaključek

V tej objavi ste naleteli na tri glavne vrste zank v jeziku Oracle PL/SQL. Za nadaljnje raziskovanje lahko preverite dokumentacijo.