pl sql package oracle pl sql package tutorial with examples
Spoznajte paket PL SQL, njegove prednosti, specifikacije in strukturo:
V tem članku bomo nadaljevali z PL / SQL serije . V PL SQL zapisi Vadnice smo spoznali o Records in Record Records s primeri programiranja.
Tu bomo raziskali pakete v PL / SQL in nekatere pomembne lastnosti paketov. Prav tako bomo razpravljali o nekaterih osnovnih operacijah zanje.
Obravnavali bomo tudi pakete dbms_ouput v PL / SQL in njegovih podprogramih.
Začnimo z učenjem !!
Kaj se boste naučili:
PL SQL paket
Paket je objekt v obliki sheme, ki v PL / SQL loči logično povezane elemente, vrste in podprograme. Paket je sestavljen iz dveh delov: Specifikacija paketa in Telo ali opredelitev paketa .
Specifikacija paketa je kot vmesnik aplikacije in se uporablja za razglasitev spremenljivk, konstant, vrst, izjem, kazalcev in podprogramov. Telo paketa izvaja podprograme in kazalce, navedene v specifikaciji paketa.
Lahko posodobimo, odpravimo napake ali spremenimo telo paketa, ne da bi se dotaknili specifikacije paketa (imenovanega tudi vmesnik paketa).
Prednosti paketa PL / SQL
Prednosti paketa so navedene spodaj:
- To daje modularnost naši kodi.
- Pomaga pri preprostem oblikovanju aplikacije.
- Paket PLSQL pomaga pri skrivanju informacij s pomočjo javnih in zasebnih elementov, podatkovnih vrst in podprogramov.
- paket omogoča ohranjanje informacij o vseh transakcijah, ne da bi jih bilo treba shraniti v bazo podatkov.
- Paketi pomagajo izboljšati učinkovitost izvajanja.
Specifikacija paketa
Specifikacija paketa je kot vmesnik paketa. Skrbi za deklariranje spremenljivk, konstant, vrst, izjem, kazalcev in podprogramov. Tako ima vse podrobnosti o vsebini paketa, vendar nima izvedbe podprogramov.
Predmeti znotraj specifikacije paketa so javni objekti. Vsi podprogrami, izvedeni znotraj telesa paketa, so zasebni predmeti. V specifikaciji paketa lahko prijavimo več globalnih spremenljivk, funkcij ali postopkov.
Specifikacija paketa je neodvisna entiteta in lahko obstaja brez telesa paketa.
Izvajanje kode:
CREATE PACKAGE citi AS FUNCTION p_strng RETURN VARCHAR2; END citi; /
Izhod zgornje kode:
Telo paketa
Telo paketa vsebuje izvajanje kazalcev in podprogramov, navedenih v specifikaciji paketa. Ne smemo pozabiti, da je do podprogramov, izvedenih v telesu paketa, mogoče dostopati zunaj paketa, če so navedeni v specifikaciji paketa.
Podprogram, naveden v specifikaciji paketa in ohišju, mora biti natančen. Ta primerjava je narejena za žetonom njihovih glav. V primeru, da se ne ujemata, PL / SQL vrne izjemo.
katera je najboljša programska oprema za vzdrževanje pc
Telo paketa lahko vsebuje druge podprograme, ki niso navedeni v specifikaciji paketa. V tem primeru so zasebne samo za to telo paketa. USTVARI TELESO PAKETA je ključna beseda, uporabljena za ustvarjanje telesa paketa.
Vzemimo primer za izdelavo telesa paketa za drugi paket.
Izvajanje kode s telesom paketa.
CREATE OR REPLACE PACKAGE BODY citi AS --function implemented FUNCTION p_strng RETURN VARCHAR2 IS BEGIN RETURN 'Software Testing Help!'; END p_strng; END citi; /
Rezultat zgornje kode mora biti.
katera je najboljša programska oprema za pretvorbo besedila v govor
Glejte Elementi paketa
Ko smo končali z razglasitvijo elementov v specifikaciji paketa in njihovo implementacijo v telo paketa, se moramo sklicevati na te elemente. Elementi paketa so sestavljeni iz funkcij, postopkov in spremenljivk.
Do teh javnih elementov paketa je mogoče dostopati z imenom paketa, ki mu sledi ime elementa, ločeno s piko (.).
Sintaksa:
package_name.element_name;
Izvajanje kodiranja za dostop do elementov:
BEGIN DBMS_OUTPUT.PUT_LINE (citi.p_strng); END;
Izhod zgornje kode:
Ustvarite PL SQL paket
Če je v seji poklican ali na katerega se sklicuje paket, se v PL / SQL ustvari nov primerek tega paketa. Z blokom kode Initialization Package lahko med ustvarjanjem primerka inicializiramo elemente paketa ali izvedemo kakršna koli druga dejanja. To je izvršljivi blok kode znotraj telesa paketa po inicializaciji elementov paketa.
Sintaksa ustvarjanja paketov:
CREATE (OR REPLACE) PACKAGE BODY IS BEGIN END
Tu je package_n ime paketa.
Preobremenitev paketa
V paketu je lahko več podprogramov s podobnimi imeni. Ta funkcija je uporabna, če želimo imeti homogene parametre z različnimi podatkovnimi vrstami. Koncept preobremenitve znotraj paketa programerjem omogoča, da jasno navedejo vrsto dejanja, ki ga želijo izvesti.
Izvajanje kodiranja s preobremenitvijo postopka. (Paket ustvarjen):
CREATE PACKAGE overloadingprocedure AS Procedure overl_method (p varchar2); Procedure overl_method (numbr number); END overloadingprocedure; /
Izhod zgornje kode:
Izvajanje kodiranja s preobremenitvijo postopka. (Telo paketa ustvarjeno)
CREATE OR REPLACE PACKAGE BODY overloadingprocedure AS --procedure implemented Procedure overl_method (p varchar2) AS BEGIN DBMS_OUTPUT.PUT_LINE ('First Procedure: ' || p); END; --procedure implemented Procedure overl_method (numbr number) AS BEGIN DBMS_OUTPUT.PUT_LINE ('Second Procedure: ' || numbr); END; END; /
Izhod zgornje kode:
Izvajanje kodiranja s preobremenitvijo postopka. (Sklic na paketni postopek)
BEGIN overloadingprocedure.overl_method ('Software Testing Help'); overloadingprocedure.overl_method (1); END;
Izhod zgornje kode:
Odvisnost paketa PLSQL
Odvisnosti paketov v PL / SQL so navedene spodaj:
- Specifikacija paketa je neodvisna identiteta.
- Telo paketa je odvisno od specifikacije paketa.
- Telo paketa je mogoče sestaviti samo ločeno. Če pa je sestavljena specifikacija paketa, je treba telo znova sestaviti.
- Funkcijo ali postopek znotraj telesa paketa, ki je odvisen od zasebnih elementov, je treba izvajati po deklaraciji zasebnih elementov.
Smernice za ustvarjanje paketa v PL SQL:
- Paket naj bo napisan v splošnih izrazih, da ga bo mogoče v prihodnosti ponovno uporabiti.
- Izogibajte se podvojenim značilnostim v paketu.
- Specifikacija paketa vsebuje ključ do pravilno zasnovane aplikacije. Pred izdelavo telesa paketa dokončajte specifikacijo paketa.
- Specifikacija paketa mora vsebovati samo elemente, podprograme in vrste, ki morajo biti dostopni uporabnikom paketa. Ne sme imeti nepotrebnih informacij o izvajanju.
- Specifikacija paketa mora vsebovati omejeno število kosov. Prihranilo bo čas za ponovno sestavljanje kode, saj sprememba specifikacije paketa zahteva, da PL / SQL ponovno prevede vse podprograme, ki se nanašajo na paket.
Informacije o paketu v PL / SQL
Vse ustrezne podrobnosti, kot so vir paketa, podprogrami in preobremenjeni elementi, se po izdelavi paketa shranijo v tabele z definicijami podatkov.
Seznam tabel z definicijami podatkov je naslednji:
- USER_PROCEDURES: Ta tabela vsebuje informacije o podprogramih, kot so preobremenjeni elementi, object_id itd. Za trenutnega uporabnika.
- VSE_PROCEDURE: Ta tabela vsebuje informacije o podprogramih, kot so preobremenjeni elementi, object_id itd. Za vse uporabnike.
- USER_SOURCE: Ta tabela vsebuje informacije o predmetnem viru za trenutnega uporabnika.
- ALL_SOURCE: Ta tabela vsebuje informacije o izvoru predmeta za vse uporabnike.
- ALL_OBJECT: Ta tabela vsebuje informacije o paketu, kot so datum_ ustvarjanja, objekt_id in druge podrobnosti predmeta za vse uporabnike.
Izhod DBMS v PL / SQL
Paket DBMS_OUTPUT omogoča prikaz izhodov PL / SQL, proizvedenih iz podprogramov in blokov kode. To nam pomaga pri odpravljanju napak, preizkušanju kode in pošiljanju sporočil.
The put_line postopek ustvari izhodne podatke v medpomnilnik. Informacije se prikažejo s pomočjo get_line ali z nastavitvijo SERVEROUTPUT ON v SQL * Plus.
Paket DBMS_OUTPUT vsebuje naslednje podprograme:
Sl št. | Ime | Namen |
---|---|---|
eno | DBMS_OUTPUT.DISABLE | Omeji izhod sporočila. |
dva | DBMS_OUTPUT.ENABLE (medpomnilnik IN INTEGER DEFAULT 20000) | Omogoča izhod sporočila. Če je vmesnik nastavljen na NULL, predstavlja neomejeno velikost vmesnega pomnilnika. |
3. | DBMS_OUTPUT.GET_LINE (vrstica OUT VARCHAR, stanje OUT NUMBER) | Pridobi medpomnjene informacije v eni vrstici. |
4. | DBMS_OUTPUT.NEW_LINE | Konča označevalnik konca vrstice. |
5. | DBMS_OUTPUT.PUT (postavka V VARCHAR) | V medpomnilnik postavi nepopolno vrstico. |
6. | DBMS_OUTPUT.PUT_LINE (izdelek V VARCHAR) | Postavi celotno vrstico v medpomnilnik. |
Izvajanje kode:
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE ('Software Testing Help!'); END;
Izhod zgornje kode:
Pogosta vprašanja in odgovori
V # 1) Kaj je paket v PL SQL?
Odgovor: Paket je objektna shema, ki kategorizira logično povezane spremenljivke, konstante, kazalce, podprograme in vrste.
V # 2) Kakšne so prednosti paketov PL SQL?
Odgovor: Prednosti paketa so navedene spodaj:
- S paketi postane enostavno oblikovanje aplikacij.
- S paketi lahko dosežemo inkapsulacijo.
- Paketi pomagajo doseči boljše delovanje glede hitrosti izvajanja.
- Koda postane bolj modularna s paketi.
V # 3) Ali lahko izdelamo telo paketa brez specifikacije?
Odgovor: Da, lahko izdelamo telo paketa brez specifikacije paketa.
V # 4) Kaj je Dbms_output Put_line v PL SQL?
Odgovor: Dbms_output put_line je postopek v programu Oracle, ki nam omogoča zapisovanje informacij v ploščato datoteko ali na izhodni zaslon PL / SQL.
V # 5) Kaj je Dbms_output?
Odgovor: Dbms_output je privzeti paket, ki nam omogoča prikaz informacij o odpravljanju napak, izhod in pošiljanje sporočil iz podprogramov, sprožilcev, paketov in bloka kode PL / SQL
world of warcraft zasebni strežnik vanilija
Zaključek
V tej vadnici smo podrobno razpravljali o nekaterih osnovnih pojmih o paketih PL SQL, ki so bistveni za njihovo uporabo v resničnih aplikacijah.
Obravnavali smo naslednje teme, navedene spodaj:
- Paketi in njihova struktura.
- Različne značilnosti paketov.
- Izhod DBMS.
- Podprogrami paketa DBMS_OUTPUT.
<< PREV Tutorial | NASLEDNJA Vadnica >>
Priporočeno branje
- PL SQL Vadnica za začetnike s primeri | Kaj je PL / SQL
- PL Vodič za zapise SQL SQL s primeri
- PL SQL kurzor in nizi: Vadnica s primeri kode
- Vadnica Python DateTime s primeri
- Razvoj aplikacij baze podatkov Oracle: Oracle SQL in PL / SQL
- Najpogostejša vprašanja za intervju z Oracle: Vprašanja za Oracle Basic, SQL, PL / SQL
- Razlika med SQL Vs MySQL Vs SQL Server (s primeri)
- Najpogostejša vprašanja o intervjujih za obrazce in poročila Oracle