PL/SQL hurkok

Pl Sql Hurkok



A hurkok a programozás egyik elsődleges építőkövei. Cikkeket használunk a kezelhető kódblokkok létrehozására, amelyek egy bizonyos feltétel teljesülése esetén többször is végrehajthatók. Ezek jelentik az alapvető csontot, amikor az ismétlődő feladatokat automatizálják anélkül, hogy egy kódblokkot többször újra kellene írniuk.

Mint minden fő programozási nyelv, a PL/SQL is támogatja a ciklusokat, amelyek lehetővé teszik egy utasításkészlet megismétlését, amíg egy bizonyos feltétel nem teljesül.

Ebben az oktatóanyagban megvizsgáljuk a LOOP utasítás használatát PL/SQL-ben egy kódblokk ismételt végrehajtására.







Oracle Loops

A PL/SQL nyelv támogatja a különféle hurokkonstrukciókat, például a „for” ciklust és a „while” ciklust. Egy általános ciklus szintaxisát az alábbi módon tudjuk kifejezni az Oracle-ben:



<< címke >> HUROK
loop_statement;
END LOOP loop_label;

Ez tartalmazza a LOOP kulcsszót és a végrehajtandó ciklus törzsét, és az END LOOP kulcsszóval van zárva.



A LOOP blokk végrehajtja a meghatározott műveleteket, és a befejezés után visszaadja a vezérlőt a felső hurok záradékához. Ez általában egy EXIT vagy EXIT WHEN záradékba van foglalva, amely egy adott feltétel teljesülése után fejezi be a hurkot. Ez segít megelőzni a végtelen hurkokat.





Oracle For Loop szintaxis:

Az alábbiakban a „for” ciklus szintaxisát mutatjuk be PL/SQL-ben:

KEZDŐDIK
FOR ciklus_változó IN [alsó_korlát..felső_korlát] LOOP
-- a ciklusban végrehajtandó kód
VÉGE hurok;
VÉGE;

A loop_variable lehetővé teszi egy hurok meghatározását, amely a ciklus, valamint az alsó és felső határok szabályozására szolgál. A felső és alsó határok azt a tartományértéket adják meg, ahol a hurok kiértékelése megtörténik.



Oracle While Loops

Meghatározhatjuk a „while” ciklusokat is a PL/SQL-ben, amint azt a következő szintaxis mutatja:

KEZDŐDIK
WHILE állapot LOOP
-- hurokművelet
VÉGE hurok;
VÉGE;

A „while” ciklusban a ciklusművelet ismételten végrehajtásra kerül, amíg a feltétel igaz.

Oracle Cursor for Loops

Az Oracle támogatja a „cursor for” ciklusokat is, amelyek lehetővé teszik számunkra, hogy egy adott eredményhalmaz minden sorához utasításkészletet hajtsunk végre. A szintaxis a következőképpen fejezhető ki:

KEZDŐDIK
FOR loop_variable IN (SELECT oszlop1, oszlop2, ...
FROM tábla1, tábla2, ...
WHERE feltétel) LOOP
-- hurokművelet
END LOOP;
VÉGE;

Példa hurkok az Oracle-ben

A következő példák az Oracle for, while és kurzorhurkjaival való munka alapjait mutatják be.

Oracle For Loop példa:

Ez a példa bemutatja, hogyan lehet „for” ciklust használni az 1-től 10-ig terjedő számok kinyomtatására.

KEZDŐDIK
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
VÉGE;

Példa a hurok közben:

Hasonló műveletet hajthatunk végre egy while ciklus használatával, az alábbiak szerint:

KEZDŐDIK
KIJELENT
i SZÁM := 1;
KEZDŐDIK
MIközben i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;
VÉGE;
VÉGE;

Ennek a „for” ciklushoz hasonló műveletet kell végrehajtania.

Példa a kurzorra a hurokra:

Az alábbiakban bemutatjuk, hogyan kell használni a „kurzor” ciklust az ügyfél teljes nevének lekéréséhez:

KEZDŐDIK
FOR alkalmazott (VÁLASZTÁSA utónév, vezetéknév
alkalmazottaktól) LOOP
DBMS_OUTPUT.PUT_LINE(alkalmazott.keresztnév || ' ' || alkalmazott.last_neve);
END LOOP;
VÉGE;

Példa kimenet:

Következtetés

Ebben a bejegyzésben a hurkok három fő típusával találkozhat az Oracle PL/SQL nyelvben. A további felfedezéshez tekintse meg a dokumentációt.