Un ghid complet despre procedură și funcție în PL SQL
Publicat: 2023-01-30
Limbajele de programare sunt un sistem de scriere a programelor de calculator. În timp ce multe limbaje de programare sunt bazate pe text, altele pot fi, de asemenea, grafice. Aceste limbaje ajută programatorii să comunice cu computerul. Structured Query Language (SQL) este un astfel de limbaj de programare care ajută la stocarea, manipularea și preluarea datelor stocate într-o bază de date relațională. În ghidul de astăzi, vom împărtăși detalii despre executarea blocurilor de nume (proceduri și funcții) care sunt subprograme pentru PL SQL. Deci, dacă ați căutat un ghid amănunțit despre procedură și funcție în PL SQL, ați ajuns pe pagina potrivită. În acest document, împreună cu acoperirea subiectului privind procedura stocată PL SQL, veți afla și despre exemplul de procedură PL SQL. Ca să nu mai vorbim de procedura de apel PL SQL, procedura de ieșire PL SQL și exemplu de funcție PL SQL despre care sunt la fel de importante pentru a afla dacă sunteți un programator în devenire. Deci, haideți să începem cu ghidul nostru detaliat despre PL SQL.
Cuprins
- Un ghid complet despre procedură și funcție în PL SQL
- Ce este PL SQL?
- Ce este procedura și funcția în PL SQL?
- Cum se creează o procedură și o funcție stocată în PL SQL?
- Avantajele procedurii și funcției stocate în PL SQL
- Sintaxă pentru crearea procedurii stocate
- Exemplu de procedură PL SQL
- Sintaxă pentru crearea funcției în PL SQL
- Exemplu de funcție PL SQL
- Ce este procedura de ieșire PL SQL?
- Diferența dintre procedura stocată și funcțională
Un ghid complet despre procedură și funcție în PL SQL
Aici, am arătat procedurile și funcțiile PL SQL cu exemple în detaliu.
Ce este PL SQL?
- PL SQL este o formă scurtă a extensiilor de limbaj procedural la SQL .
- PL SQL este un limbaj structurat în blocuri pentru programatori care îi ajută să combine puterea SQL cu instrucțiunile procedurale.
- Este extensia procedurală a Oracle Corporation .
- Acest limbaj procedural este disponibil în baza de date Oracle , în baza de date în memorie Times Ten și în IBM Db2 .
- În timpul rulării, atât PL/SQL, cât și SQL aduc o eficiență optimă, rulând în cadrul aceluiași proces de server .
- PL SQL asigură procesarea eficientă și netulburată a declarațiilor SQL prin îmbunătățirea portabilității , securității și robusteței bazei de date.
- PL SQL înseamnă pur și simplu să instruiți compilatorul despre ce să facă prin SQL și despre cum să o facă prin modul său procedural .
- PL SQL oferă mai mult control programatorilor prin utilizarea buclelor , condițiilor și conceptelor orientate pe obiecte .
Ce este procedura și funcția în PL SQL?
- PL SQL are două subprograme, cunoscute sub numele de proceduri și funcții .
- De obicei, o procedură este utilizată pentru a efectua o acțiune și o funcție pentru a calcula o valoare .
- Subprogramele din PL SQL au o parte declarativă , o parte executabilă și o parte opțională pentru gestionarea excepțiilor .
- Aceste subprograme pot fi create și salvate în baza de date ca obiecte de bază de date.
- Subprogramele de procedură și funcție din PL SQL returnează o singură valoare care este folosită în principal pentru a calcula și returna o valoare .
- Aceste subprograme sunt pur și simplu o colecție de instrucțiuni PL/SQL și SQL care pot executa o anumită sarcină .
Cum se creează o procedură și o funcție stocată în PL SQL?
Când este scris un bloc de cod pentru procedura sau funcția stocată PL SQL, acestea sunt compilate de motorul Oracle. Odată compilat, este stocat ca obiect de bază de date. Procedura stocată sau blocul funcțional al codului este alcătuit din trei părți:
- Parte declarativă : În această parte, sunt declarate variabilele, constantele, cursorul sau excepțiile care urmează să fie utilizate de procedură sau funcție.
- Partea executabilă : În această parte, este scrisă definiția procedurii sau funcției care este creată. Această parte constă, de asemenea, din instrucțiuni PL/SQL sau SQL care atribuie valori, manipulează date și controlează execuția.
- Partea de tratare a excepțiilor : Această ultimă parte este opțională și în ea sunt scrise excepții așteptate care pot apărea în timpul execuției codului scris în partea executabilă.
Avantajele procedurii și funcției stocate în PL SQL
Înainte de a descoperi exemplul de procedură PL SQL, trebuie mai întâi să vă familiarizați cu avantajele subprogramelor de procedură și funcție.
- Îmbunătățiți performanța bazei de date : motorul Oracle ajută la compilarea automată. De asemenea, ori de câte ori se face o procedură sau o funcție de apel PL SQL, motorul Oracle încarcă codul compilat în SGA, System Global Area, ceea ce ajută la execuție mai rapidă.
- Reutilizabilitate și lipsă de redundanță : Numărul de linii de cod nu poate fi scris în mod repetat, deoarece același bloc de cod pentru o procedură sau funcție poate fi apelat de orice număr de ori pe date multiple.
- Securitate : Securitatea bazei de date este, de asemenea, menținută prin utilizarea procedurilor sau funcțiilor stocate, deoarece ajută la controlul utilizării și accesului acestora prin acordarea de permisiuni utilizatorilor. Deși, permisiunea de a edita sau manipula baza de date nu este acordată utilizatorilor.
- Integritate : Un alt avantaj al utilizării procedurii sau funcției stocate PL SQL este că asigură integritatea, deoarece acestea sunt stocate ca obiecte de bază de date de către motorul Oracle.
- Salvare memorie: Unul dintre multele avantaje ale procedurilor sau funcțiilor stocate este că acestea partajează memorie, ceea ce ajută la salvarea memoriei ca o singură copie fie a unei proceduri sau a unei funcții care poate fi încărcată de un număr de utilizatori care au permisiunea de a face același lucru.
Citiți și: Cum să remediați eroarea javascript:void(0).
Sintaxă pentru crearea procedurii stocate
Puteți consulta sintaxa de mai jos care este utilizată pentru a crea o procedură stocată în Oracle:
CREATE OR REPLACE PROCEDURE <nume_procedură> (<nume_variabilă>IN/OUT/IN OUT <tip de date>, <variable_name>IN/OUT/IN OUT <tip de date>,...) IS/AS declarație variabilă/constante; ÎNCEPE -- Corpul subprogramului PL/SQL; EXCEPȚIE -- Bloc de tratare a excepţiilor ; END <nume_procedură>;

În codul de mai sus:
- Procedure_name reprezintă numele procedurii.
- Nume_variabilă reprezintă numele variabilei utilizate în procedura stocată.
- Procedura Creare sau înlocuire reprezintă un cuvânt cheie folosit pentru a specifica numele procedurii care urmează să fie creată.
- Început , Excepție și Sfârșit reprezintă cuvinte cheie utilizate pentru a indica crearea diferitelor secțiuni ale procedurii.
- IN/OUT/IN OUT reprezintă modurile parametrilor în care, IN se referă la modul READ ONLY care este utilizat pentru o variabilă prin care va accepta valoarea de la utilizator. Acesta este modul implicit de parametri.
- OUT se referă la modul WRITE ONLY care este utilizat pentru o variabilă care returnează valoarea utilizatorului.
- IN OUT se referă la modul READ și WRITE care este utilizat pentru o variabilă care fie va accepta o valoare, fie va returna o valoare utilizatorului.
- <procedure_name> reprezintă un sfârșit al definiției procedurii. De asemenea, puteți utiliza pur și simplu END în locul său.
Exemplu de procedură PL SQL
Pentru codul de procedură de mai jos, iată un exemplu simplu care va demonstra în mod clar utilizarea procedurii stocate pentru adăugarea a două numere:
setați ieșirea serverului; PROCEDURA DE CREARE SAU ÎNLOCUIRE Suma (unde un număr IN, b număr IN) ESTE un număr c; ÎNCEPE c:= a+b; dbms_output.put_line ('Suma a doi nos= '|| c); END Sumă;
În cazul apelării procedurii, se va executa următorul cod:
setați ieșirea serverului; DECLARA numărul x; numărul y; ÎNCEPE x := &x; y := &y; Suma(x,y); SFÂRŞIT; Unde: Introduceți valoarea pentru x: 10 Introduceți valoarea pentru y: 20 Suma a două numere: 30
Procedura PL SQL creată cu succes.
Sintaxă pentru crearea funcției în PL SQL
Acum că știți cum să creați sintaxa pentru procedura stocată și exemplul acesteia, este timpul să faceți puțină lumină asupra creării de funcții în PL/SQL:
CREATE OR REPLACE FUNCTION <nume_funcție> (<nume_variabilă> ÎN <tip de date>, <nume_variabilă> IN <tip de date>,...) RETURN <tip de date> IS/AS declarație variabilă/constante; ÎNCEPE -- Corpul subprogramului PL/SQL; EXCEPȚIE -- Bloc de tratare a excepţiilor ; END <nume_funcție>;
În codul de mai sus:
- Function_name reprezintă numele funcției.
- Variable_name reprezintă numele variabilei pentru variabila utilizată în funcție.
- Funcția Creare sau înlocuire reprezintă un cuvânt cheie folosit pentru numele funcției care urmează să fie creată.
- IN reprezintă modul READ ONLY care este utilizat pentru o variabilă prin care va accepta valoarea de la utilizator. Acesta este parametrul implicit.
- Return reprezintă un cuvânt cheie care este urmat de un tip de date care specifică tipul de date al unei valori pe care funcția o va returna.
Citește și: Comanda de remediere a eșuat cu codul de eroare 1 Informații despre ouă Python
Exemplu de funcție PL SQL
Mai jos este dat un exemplu de funcție PL SQL care demonstrează utilizarea funcției pentru adăugarea a două numere:
setați ieșirea serverului; CREATE SAU ÎNLOCUITĂ FUNCȚIA Suma(a IN număr, b IN număr) RETURN Numărul IS c număr; ÎNCEPE c:= a+b; RETURN c; SFÂRŞIT;
În cazul apelării funcției sum, se va executa următorul cod:
setați ieșirea serverului; DECLARA numărul nr1; numărul nr.2; numărul rezultatului; ÎNCEPE nr1 := &no1; nr2 := &no2; rezultat := Suma(nr1,nr2); dbms_output.put_line('Suma a doi nos='||rezultat); SFÂRŞIT; Unde: Introduceți valoarea pentru nr1: 5 Introduceți valoarea pentru nr2: 5 Suma a două numere: 10
Procedura PL SQL creată cu succes.
Citiți secțiunea următoare pentru a afla despre procedura de ieșire PL SQL.
Ce este procedura de ieșire PL SQL?
Exit ajută atunci când instrucțiunea iese din iterația curentă a buclei odată ce condiția din clauza sa WHEN este îndeplinită și transferă controlul la sfârșitul buclei care se desfășoară în prezent. Instrucțiunile de ieșire nu pot fi utilizate în afara buclelor și sunt menite pentru a ieși dintr-o buclă fie necondiționat folosind instrucțiunile Exit și Continue, fie condiționat folosind instrucțiunile Exit When și Continue When.
Diferența dintre procedura stocată și funcțională
Acum că sunteți conștient de procedura și funcția din PL SQL, este în sfârșit timpul să cunoașteți și diferența de bază dintre cele două:
- Procedura stocată poate returna sau nu o valoare părții apelante a programului, în timp ce funcția returnează o valoare părții apelante a programului.
- Procedura stocată returnează o valoare folosind parametrul OUT, în timp ce funcția returnează valoarea folosind RETURN.
- Procedura stocată folosește parametrul IN, OUT, IN OUT, în timp ce funcția folosește doar parametrul IN.
- Procedura stocată nu specifică tipul de date valoarea dacă va reveni după o apelare efectuată către acesta, în timp ce, funcția specifică tipul de date al valorii care va reveni după o apelare efectuată către aceasta.
- Procedura stocată nu poate fi apelată din blocul de funcții de cod, în timp ce funcția poate fi apelată din blocul de proceduri de cod.
Recomandat:
- RAM DDR4 vs DDR5: care este mai bine pentru jocuri?
- Care sunt tipurile de panouri?
- Cum să analizați textul
- 4 moduri de a împărți șirurile de delimitare în SQL
Sperăm că documentul nostru despre procedură și funcție în PL SQL a fost util și cu succes în a răspunde tuturor îndoielilor dumneavoastră cu privire la PL SQL și subprogramele lor, procedură și funcție, procedura de ieșire PL SQL și multe altele. Dacă v-am ajutat în vreun fel sau dacă aveți mai multe întrebări din partea dvs., vă rugăm să lăsați comentariile dvs. mai jos pentru a ne anunța.