PL/SQL tsüklid

Pl Sql Tsuklid



Silmused on programmeerimise üks peamisi ehitusplokke. Kasutame silmuseid, et luua hallatavaid koodiplokke, mida saab teatud tingimuse tõenemisel mitu korda käivitada. Need on korduvate toimingute automatiseerimise põhialuseks ilma koodiplokki mitu korda ümber kirjutamata.

Nagu kõik suuremad programmeerimiskeeled, toetab PL/SQL silmuseid, mis võimaldavad käskude komplekti korrata, kuni teatud tingimus on täidetud.

Selles õpetuses uurime LOOP-lause kasutamist PL/SQL-is koodiploki korduvaks täitmiseks.







Oracle Loops

PL/SQL-keel toetab erinevaid tsüklikonstruktsioone, nagu 'for' silmus ja 'while' tsüklid. Oracle'is saame väljendada üldise tsükli süntaksit, nagu on näidatud järgmiselt:



<< silt >> LOOP
loop_lause;
END LOOP loop_label;

See sisaldab märksõna LOOP ja käivitatava tsükli põhiosa ning on ümbritsetud märksõnaga END LOOP.



LOOP-plokk käivitab määratletud toimingud ja tagastab juhtelemendi pärast lõpetamist ülemise tsükli klauslisse. Tavaliselt lisatakse see klauslisse EXIT või EXIT WHEN, et lõpetada tsükkel pärast teatud tingimuse täitmist. See aitab vältida lõpmatuid silmuseid.





Oracle For Loop Süntaks:

Järgmine näitab PL/SQL-i for-tsükli süntaksit:

ALUSTA
FOR loop_muutuja IN [alumine_piir..ülemine_piir] LOOP
-- tsüklis käivitatav kood
END LOOP;
LÕPP;

Loop_muutuja võimaldab defineerida tsükli, mida kasutatakse tsükli ning alumise ja ülemise piiri juhtimiseks. Ülemine ja alumine piir määravad vahemiku väärtused, kus silmuse hindamine toimub.



Oracle While Loops

Samuti saame määratleda PL/SQL-is tsüklid 'while', nagu näitab järgmine süntaks:

ALUSTA
WHILE tingimus LOOP
-- silmustegevus
END LOOP;
LÕPP;

Silmuses 'while' teostatakse tsüklitoimingut korduvalt, kui tingimus on tõene.

Oracle kursor silmuste jaoks

Oracle toetab ka 'kursori' silmuseid, mis võimaldavad meil täita käskude komplekti antud tulemuskomplekti iga rea ​​jaoks. Süntaksit saab väljendada järgmiselt:

ALUSTA
FOR loop_muutuja IN (SELECT veerg1, veerg2, ...
FROM tabel 1, tabel 2, ...
WHERE tingimus) LOOP
-- silmustegevus
END LOOP;
LÕPP;

Näidissilmused Oracle'is

Järgmised näited hõlmavad Oracle'i kursoritsüklite, while ja kursoritsüklitega töötamise põhitõdesid.

Oracle For Loop näide:

See näide näitab, kuidas kasutada tsüklit „for” numbrite 1–10 printimiseks.

ALUSTA
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
LÕPP;

Kuigi silmuse näide:

Sarnase toimingu saame sooritada ajasilmuse abil, nagu on näidatud järgmiselt:

ALUSTA
KUULUTAMA
i ARV := 1;
ALUSTA
AJAL i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;
LÕPP;
LÕPP;

See peaks tegema sarnase toimingu kui tsükliga 'for'.

Kursori tsükli näide:

Järgmine näitab, kuidas kasutada kliendi täisnime saamiseks kursorit.

ALUSTA
TÖÖTAJALE IN (VALI eesnimi, perekonnanimi
töötajatelt) LOOP
DBMS_OUTPUT.PUT_LINE(töötaja.eesnimi || ' ' || töötaja.perekonnanimi);
END LOOP;
LÕPP;

Näidisväljund:

Järeldus

Selles postituses kohtasite Oracle PL/SQL keeles kolme peamist tüüpi silmuseid. Edasiseks uurimiseks saate vaadata dokumentatsiooni.