Täielik juhend protseduuride ja funktsioonide kohta PL SQL-is – TechCult
Miscellanea / / April 07, 2023
Programmeerimiskeeled on arvutiprogrammide kirjutamise süsteem. Kuigi paljud programmeerimiskeeled on tekstipõhised, võivad teised olla ka graafilised. Need keeled aitavad programmeerijatel arvutiga suhelda. Struktureeritud päringukeel (SQL) on üks selline programmeerimiskeel, mis aitab relatsiooniandmebaasi salvestatud andmeid salvestada, töödelda ja hankida. Tänases juhendis jagame üksikasju nimeplokkide (protseduuride ja funktsioonide) täitmise kohta, mis on PL SQL-i alamprogrammid. Seega, kui olete otsinud põhjalikku juhendit PL SQL-i protseduuride ja funktsioonide kohta, olete sattunud õigele lehele. Sellest dokumendist koos PL SQL-i salvestatud protseduuride teemaga saate teada ka PL SQL-protseduuride näitest. Rääkimata PL SQL-kõne protseduurist, PL SQL-i väljumisprotseduurist ja PL SQL-funktsiooni näitest, mida on sama oluline õppida, kui olete algaja programmeerija. Niisiis, alustame meie põhjaliku PL SQL-i juhendiga.
Sisukord
Täielik juhend PL SQL-i protseduuride ja funktsioonide kohta
Siin oleme üksikasjalikult näidanud PL SQL protseduure ja funktsioone koos näidetega.
Mis on PL SQL?
- PL SQL on sõna lühivorm Protseduurikeele laiendused SQL-ile.
- PL SQL on plokkstruktuuriga keel programmeerijatele, mis aitab neil seda teha ühendada SQL-i jõud koos menetluslikud avaldused.
- see on Oracle Corporation menetluse pikendamine.
- See menetluskeel on saadaval aadressil Oraakel andmebaas, Kümme korda mälusisene andmebaas ja IBM Db2.
- Käitusajal pakuvad nii PL/SQL kui ka SQL optimaalset tõhusust, töötades programmis sama serveriprotsess.
- PL SQL tagab SQL-lausete tõhusa ja häireteta töötlemise, täiustades SQL-i teisaldatavus, turvalisusja robustsus andmebaasist.
- PL SQL tähendab lihtsalt kompilaatori sisselülitamist mida teha läbi SQL ja umbes kuidas teha see läbi selle protseduuriline viis.
- PL SQL annab programmeerijatele rohkem kontrolli silmuste kasutamine, tingimusedja objektorienteeritud mõisted.
Mis on protseduur ja funktsioon PL SQL-is?
- PL SQL-il on kaks alamprogrammi, mida tuntakse kui protseduurid ja funktsioonid.
- Tavaliselt kasutatakse selleks protseduuri sooritama antegevust ja funktsioon arvutada väärtus.
- PL SQL-i alamprogrammidel on a deklaratiivne osa, an käivitatav osaja an valikuline erandite käsitlemise osa.
- Neid alamprogramme saab luua ja andmebaasi salvestada kui andmebaasi objektid.
- Protseduuride ja funktsioonide alamprogrammid PL SQL-is tagastavad a ühekordne väärtus mida peamiselt kasutatakse arvutama ja tagastab väärtuse.
- Need alamprogrammid on lihtsalt kogumik PL/SQL ja SQL-laused mis võib teostada a konkreetne ülesanne.
Kuidas luua PL SQL-is salvestatud protseduuri ja funktsiooni?
Kui kirjutatakse PL SQL-i salvestatud protseduuri või funktsiooni koodiplokk, kompileerib need Oracle'i mootor. Pärast kompileerimist salvestatakse see andmebaasiobjektina. Salvestatud protseduur või koodi funktsiooniplokk koosneb kolmest osast:
- Deklaratiivne osa: selles osas deklareeritakse muutujad, konstandid, kursor või erandid, mida protseduuri või funktsiooni puhul kasutatakse.
- Käivitatav osa: selles osas kirjutatakse loodava protseduuri või funktsiooni määratlus. See osa koosneb ka PL/SQL- või SQL-lausetest, mis määravad väärtusi, manipuleerivad andmeid ja kontrollivad täitmist.
- Erandi käsitlemise osa: See viimane osa on valikuline ja sellesse on kirjutatud eeldatavad erandid, mis võivad ilmneda käivitatavas osas kirjutatud koodi täitmisel.
Salvestatud protseduuride ja funktsioonide eelised PL SQL-is
Enne PL SQL protseduuri näite avastamist peate esmalt tutvuma protseduuride ja funktsioonide alamprogrammide eelistega.
- Suurendage andmebaasi jõudlust: Oracle'i mootor aitab automaatsel koostamisel. Samuti laadib Oracle'i mootor iga kord, kui PL SQL-i kõneprotseduur või funktsioon on tehtud, kompileeritud koodi SGA-sse, System Global Area, mis aitab kiiremini käivitada.
- Korduvkasutatavus ja üleliigsuse puudumine: koodiridade arvu ei saa korduvalt kirjutada, kuna protseduuri või funktsiooni sama koodiplokki saab mitmel andmesel mitu korda välja kutsuda.
- Turvalisus: Andmebaasi turvalisust hoitakse ka salvestatud protseduuride või funktsioonide abil, kuna see aitab kasutajatele lubade andmise kaudu kontrollida nende kasutamist ja juurdepääsu. Kuigi kasutajatele ei anta andmebaasi redigeerimise või manipuleerimise luba.
- Terviklikkus: PL SQL-i salvestatud protseduuri või funktsiooni kasutamise teine eelis on see, et see tagab terviklikkuse, kuna Oracle'i mootor salvestab need andmebaasiobjektidena.
- Salvesta mälu: Üks salvestatud protseduuride või funktsioonide paljudest eelistest on see, et need jagavad mälu, mis aitab mälu säästa protseduuri või funktsiooni üks eksemplar, mille saavad laadida mitu kasutajat, kellel on selleks luba sama.
Loe ka:Javascripti parandamine: void (0) Viga
Salvestatud protseduuri loomise süntaks
Saate vaadata allolevat süntaksit, mida kasutatakse salvestatud protseduuri loomiseks Oraakel:
LOO VÕI ASENDA PROTSESS (IN/OUT/IN OUT , IN/OUT/IN OUT muutuja/konstant deklaratsioon;ALUSTA-- PL/SQL alamprogrammi keha;ERAND- Erandjuhtimisplokk;LÕPP,...) ON/NAGU ;
Ülaltoodud koodis:
- Protseduuri_nimi tähistab protseduuri nime.
- Muutuja_nimi tähistab salvestatud protseduuris kasutatud muutuja nime.
- Loo või Asenda protseduur tähistab märksõna, mida kasutatakse loodava protseduuri nime määramiseks.
- Alusta, Erandja Lõpp tähistab märksõnu, mida kasutatakse protseduuri erinevate osade näitamiseks.
- IN/OUT/IN OUT tähistab parameetrirežiime, kus IN viitab LOE AINULT režiim, mida kasutatakse muutuja jaoks, mille kaudu see väärtus kasutajalt vastu võtab. See on parameetri vaikerežiim.
- VÄLJAS viitab KIRJUTA AINULT režiim, mida kasutatakse muutuja jaoks, mis tagastab kasutajale väärtuse.
- SEES VÄLJAS viitab LOE ja KIRJUTA režiim, mida kasutatakse muutuja jaoks, mis võtab väärtuse vastu või tagastab väärtuse kasutajale.
- tähistab protseduuri määratluse lõppu. Selle asemel võite kasutada ka lihtsalt END.
PL SQL protseduuri näide
Alloleva protseduurikoodi jaoks on siin lihtne näide, mis näitab selgelt salvestatud protseduuri kasutamist kahe numbri lisamiseks:
seadke serveri väljund sisse;PROTSEDUURI LOOMISE VÕI TASUTA Summa (kus a IN number, b IN number) ON c number;ALUSTAc := a+b;dbms_output.put_line ('Kahe ei summa= '|| c);LÕPP Summa;
Protseduuri väljakutsumisel käivitatakse järgmine kood:
seadke serveri väljund sisse;KUULUTAMAx number;y number;ALUSTAx := &x;y := &y;Summa (x, y);LÕPP;Kus:Sisestage x väärtus: 10Sisestage y väärtus: 20Kahe numbri summa: 30
PL SQL-protseduur edukalt loodud.
Funktsiooni loomise süntaks PL SQL-is
Nüüd, kui olete teadlik salvestatud protseduuride süntaksi loomisest ja selle näitest, on aeg heita valgust funktsioonide loomisele PL/SQL-is:
LOO VÕI ASENDA FUNKTSIOON (IN , IN TAGASI,...) ON/AS muutuja/konstant deklaratsioon;ALUSTA-- PL/SQL alamprogrammi keha;ERAND- Erandjuhtimisplokk;LÕPP;
Ülaltoodud koodis:
- Funktsiooni_nimi tähistab funktsiooni nime.
- Muutuja_nimi tähistab funktsioonis kasutatava muutuja muutuja nime.
- Loo või Asenda funktsioon tähistab märksõna, mida kasutatakse loodava funktsiooni nimetusena.
- IN esindab LOE AINULT režiim, mida kasutatakse muutuja jaoks, mille abil see kasutaja väärtuse vastu võtab. See on vaikeparameeter.
- Tagasi tähistab märksõna, millele järgneb andmetüüp, mis määrab väärtuse andmetüübi, mille funktsioon tagastab.
Loe ka:Käskluse parandamine ebaõnnestus tõrkekoodi 1 Python Egg teabega
PL SQL funktsiooni näide
Allpool on näide PL SQL funktsioonist, mis demonstreerib funktsiooni kasutamist kahe numbri lisamiseks:
seadke serveri väljund sisse;LOO VÕI ASENDA FUNKTSIOON Summa (a IN number, b IN number) TAGASI number ONc number;ALUSTAc := a+b;TAGASI c;LÕPP;
Funktsiooni summa väljakutsumisel käivitatakse järgmine kood:
seadke serveri väljund sisse;KUULUTAMAnr1 number;nr2 number;tulemuse number;ALUSTAnr1 := &no1;nr2 := &no2;tulemus := Summa (no1,no2);dbms_output.put_line(’Kahe nos=’||tulemuse summa);LÕPP;Kus:Sisestage number 1 väärtus: 5Sisestage väärtus nr2: 5Kahe ei summa: 10
PL SQL-protseduur edukalt loodud.
PL SQL-i väljumisprotseduuri kohta lisateabe saamiseks lugege järgmist jaotist.
Mis on PL SQL-ist väljumise protseduur?
Väljumine aitab, kui avaldus väljub tsükli praegusest iteratsioonist, kui selle WHEN-klauslis olev tingimus on täidetud, ja viib juhtimise üle käimasoleva tsükli lõppu. Väljumise lauseid ei saa kasutada väljaspool tsüklit ja need on mõeldud ka tsüklist väljumiseks tingimusteta kasutades Exit ja Continue avaldusi või tinglikult kasutades Exit When ja Continue When avaldused.
Salvestatud ja funktsiooniprotseduuri erinevus
Nüüd, kui olete PL SQL-i protseduurist ja funktsioonist teadlik, on lõpuks aeg teada saada ka nende kahe põhilist erinevust:
- Salvestatud protseduur võib või ei pruugi tagastada väärtuse programmi kutsuvale osale, samas kui funktsiooni tagastab väärtuse programmi kutsuvale osale.
- Salvestatud protseduur tagastab väärtuse, kasutades parameetrit OUT, samas kui funktsiooni tagastab väärtuse RETURN abil.
- Salvestatud protseduur kasutab parameetrit IN, OUT, IN OUT, samas kui funktsiooni kasutab ainult IN parameetrit.
- Salvestatud protseduur ei määra andmetüüpi väärtust, kui see naaseb pärast sellele tehtud kõnet, samas kui funktsiooni määrab väärtuse andmetüübi, mis tagastatakse pärast sellele tehtud kõnet.
- Salvestatud protseduur ei saa välja kutsuda koodi funktsiooniplokist, samas kui funktsiooni saab välja kutsuda koodi protseduuriplokist.
Soovitatav:
- DDR4 vs DDR5 RAM: kumb on mängimiseks parem?
- Millised on leivalaua tüübid?
- Kuidas teksti sõeluda
- 4 viisi stringi eraldamiseks SQL-is
Loodame, et meie doc protseduur ja funktsioon PL SQL-is oli abiks ja edukas kõikidele teie kahtlustele vastamisel PL SQL-i ja nende alamprogrammide, protseduuride ja funktsioonide, PL SQL-i väljumisprotseduuri ja muu kohta. Kui aitasime teid mingil moel või kui teil on rohkem küsimusi, jätke meile oma kommentaarid allpool.
Elon on TechCulti tehnikakirjanik. Ta on kirjutanud juhendeid umbes 6 aastat ja käsitlenud paljusid teemasid. Talle meeldib käsitleda Windowsi, Androidiga seotud teemasid ning uusimaid nippe ja näpunäiteid.