Sissejuhatus PL / SQL-i silmustesse

Protseduurikeel / struktureeritud päringu keel või PL / SQL on Oracle Corporationi protseduuriline laiend Oracle RDBMS-i jaoks. PL / SQL laiendas SQL-i, lisades protseduurkeeltes kasutatavaid konstruktsioone, et võimaldada keerukamat programmeerimist, kui SQL pakub. Nende struktuuride näideteks on IF… THEN… ELSE, põhisilmused, FOR silmused ja WHILE silmused.

Selgitage PL / SQL-is erinevaid silmutüüpe

See artikkel selgitab teile, kui korduv juhtimisstruktuur tähendab PL / SQL silmuseid; see võimaldab teil sama koodi korduvalt käitada. PL / SQL pakub kolme erinevat tüüpi silmuseid:

  • Lihtne või lõpmatu silmus
  • FOR-silmus
  • WHILE silmus

Siin on iga silmus loodud konkreetsel eesmärgil, kasutamise reeglid ja juhised kvaliteetse loomise jaoks.

Erinevate silmuste näited

Kaaluge järgmisi kolme protseduuri, et mõista erinevaid silmuseid ja nende probleemide lahendamise võimet erineval viisil.

1. Lihtne silmus

See silmus on sama lihtne kui selle nimi. See algab märksõnaga LOOP ja lõpeb lõpplausega “END LOOP”.

Süntaks

LOOP
The sequence of statements;
END LOOP;

Nagu ülaltoodud süntaksi märksõna kohta, tähistab 'LOOP' silmuse algust ja 'END LOOP' teatas silmuse lõppu. Väljavõtte osa jada võib sisaldada suvalist täitmiseks mõeldud avaldust.

Näide lihtsast silmusest

Kirjutame programmi korrutustabelite 18 printimiseks.

Ülaltoodud silmuse all puudub meil väljavõte EXIT; tähendab, et väljundi täitmine on lõpmatu, kuni me selle programmi käsitsi sulgeme.

Vt allpool programmi Exit avaldusega:

Ülaltoodud programmi selgitus

Deklaratsiooni osas oleme deklareerinud kaks muutujat; Muutuja v_counter toimib loendurina ja v_result hoiab korrutamise tulemust.

Täitmise sektsioonis on meil lihtne silmus, siin on kolm avaldust.

  • Esimene avaldus töötab meie värskendusväljavõttena; see värskendab meie loendurit ja suurendab seda ühe võrra.
  • Teine lause on aritmeetiline avaldis, mis täidab meie tabeli korrutamise ja salvestab tulemuse v_result muutujasse.
  • Kolmas lause on väljundlause, mis prindib korrutamise tulemuse vormindatud viisil.

Väljumise avalduse kasutamine

Nagu väljumisavalduse korral, kui v_counter> = 10, siis silmus väljumisega, mis tähendab, et silmus töötab 10 korda.

Väljund:

2. FOR-aas

FOR-silmus võimaldab teil avalduste plokki korduvalt fikseeritud arv kordi käivitada.

Süntaks

FOR loop_counter IN (REVERSE) lower_limit .. upper_limit LOOP
Statement1;
Statement2;
….Statement3;
END LOOP;

  • Süntaksi esimene rida on silmuse lause, kus märksõnad FOR tähistab silmuse algust, millele järgneb silmuse loendur, mis on kaudne indeksi täisarv.
  • See tähendab, et te ei pea seda muutujat deklareerimise jaotises määratlema, lisaks suurendab see ise oma silmuse igal iteratsioonil kaudselt 1, erinevalt teistest silmustest, kus peame määratlema silmuse loenduri.
  • Märksõna IN peab olema programmis FOR Loop.
  • Märksõna REVERSE ei ole kohustuslik, kuid seda kasutatakse alati koos märksõnaga IN.
  • Kui kasutatakse märksõna REVERSE, siis itereerub silmus vastupidises järjekorras.
  • alumine_limiit ja ülemine_limiit on kaks täisarvu. Need kaks muutujat määratlevad ahela arvu iteratsiooni.
  • Kaks punkti nende kahe muutuja vahel on vahemiku operaator.
  • Siis on meil silmuse keha, mis võib olla avaldus või avalduste rühm.
  • Lõpuks on meil lause END LOOP, mis näitab silmuse lõppu.

Näide nr 1

Nagu ülaltoodud programmis, on meil FOR-silmus, mis prindib muutuja v_counter väärtuse vahemikus 11 kuni 20.

Väljund:

Näide nr 2: Nüüd trükime sama välja vastupidises järjekorras, kasutades silmust FOR.

Lihtsalt lisage märksõna REVERSE pärast IN ja enne 11, see käivitab sama o / p, kuid vastupidises järjekorras.

3. WHILE silmus

Kuigi silmus täidab programmi avaldusi mitu korda, on seda kõige parem kasutada programmi jaoks, kui ükski iteratsioon pole teada.

Süntaks

WHILE condition LOOP
Statement 1;
Statement 2;

Statement N;
END LOOP;

  • Erinevalt teisest süntaksi WHILE silmusest on süntaksit väga lihtne mõista. Nagu ülaltoodud süntaks, tähistab 'WHILE' silmuse algust koos tingimusega ja 'END LOOP' tähistab silmuse lõppu.
  • Laused 1 kuni N on käivitatavad avaldused, mis on määratletud silmuse kehas. Lisaks oleme lõpuks maininud END LOOP-i, mis tähistab while-ahela lõppu.
  • Kuigi avalduste käitamiseks loop'i kehas, peab tingimus olema tõene.

Näide: printige korrutustabel 17-ga, kasutades loop-i.

  • Selles näites on meil esimene muutuja “v_counter”, mis toimib loendurina, ja teine ​​muutuja on “v_result”, see hoiab korrutamise tulemuse.
  • Esimene väide on aritmeetiline avaldis WHILE silmus, mis täidab tabeli korrutamise ülesande ja tulemus salvestatakse v_result.
  • Teine lause on printimisavaldus, mis prindib korrutuste tulemused. Kolmas avaldus on värskendusloendur, mis värskendab loendurit iga iteratsiooniga
  • Sel ajal töötab silmus seni, kuni meie loenduriväärtus on 10 või suurem ja KUI silmus saab lõpetatud 10 loenduriväärtuse.

Väljund:

Silmuste eelised PL / SQL-is

  • Koodi taaskasutatavus on silmuste parim eelis, me ei pea iga iteratsiooni jaoks koodi korduvalt kirjutama, kasutades silmuseid, saame koodi kasutada igas iteratsioonis.
  • Lingid aitavad meil ka koodi või programmi suurust vähendada. Peame lihtsalt kirjutama ühe lihtsa koodi ja panema selle suvalisse ahelasse, et töö lõpule viia ilma, et sama programmi erinevaid väljundeid kodeeritaks.
  • Keerukuse vähendamine on lisanud ka silmuste eelise.

Järeldus - ahelad PL / SQL-is

SQL on ainus liides relatsiooniandmebaasile ja PL / SQL on protseduuriline laiendus SQL-ile. Õige tulemuskomplekti saamiseks on oluline mõista, kuidas SQL töötab, ning kujundada andmebaasid ja äriloogika õigesti. PL / SQL-i saab kasutada andmebaasis ja sellel on palju võimsaid funktsioone. Oracle Database 12.1-s on PL / SQL-is palju parandusi. Kasutage SQL-i igal võimalusel, kuid kui teie päring muutub liiga keeruliseks või kui vaja on protseduurilisi funktsioone, on parem kasutada selle asemel PL / SQL.

Soovitatavad artiklid

See on olnud juhend silmuste juurde PL / SQL-is. Siin käsitleme näidetega ka eeliseid ja erinevat tüüpi silmuseid. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Mis on PL / SQL?
  2. Skaleeritavuse testimine
  3. Mis on R programmeerimiskeel?
  4. Mis on PHP?
  5. 36 parimat SQL-i märksõna koos näidetega
  6. Ahelad PowerShellis | Tüübid | Kasu