Ce este Procedura în SQL

Dezvoltatorii pot folosi puterea SQL cu declarații procedurale încorporate în Pl / SQL, deoarece Pl / SQL este un limbaj structurat în bloc. O procedură stocată nu este decât o colecție de declarații SQL declarative. Ne putem gândi la o procedură ca la o funcție sau o metodă. Pentru a invoca o procedură pot fi utilizate declanșatoare, alte proceduri sau aplicații pe Java, PHP etc. Instrucțiunile de bloc sunt transmise motorului Oracle toate simultan, astfel încât să putem avea viteza de procesare mare și să reducem traficul.

O procedură stocată este la fel ca un bloc de cod pe care îl putem salva și reutiliza din nou și din nou. Dacă avem o interogare SQL pe care o folosim de mai multe ori, deci în loc să o rescriem din nou, o putem salva ca o procedură stocată, atunci trebuie doar să o apelăm și să o executăm. De asemenea, putem trece parametrii la o procedură stocată, astfel încât să putem avea o ieșire bazată pe valoarea parametrilor sau valorile trecute.

Ce este SQL?

Limbajul de interogare structurat (SQL) este uneori pronunțat ca personajul individual „S-QL” sau „see-Quel”. Este folosit pentru interogarea, manipularea sau actualizarea datelor din baza de date relațională. Este utilizat pentru a insera sau actualiza sau șterge înregistrări într-o bază de date. Una dintre principalele funcționalități ale SQL este menținerea unei baze de date.

Sintaxa interogării SQL pentru a prelua toate înregistrările este următoarea:

selectați * din nume_tabel

Proceduri stocate în SQL

Ce este o procedură stocată? O procedură stocată este o colecție de instrucțiuni SQL Structed Query Language cu un nume care i-a fost atribuit. Aceste proceduri stocate sunt stocate într-un sistem relațional de gestionare a bazelor de date (RDBMS). Deci, este posibil pentru apelarea mai multor proceduri, reducând mai multe execuții și ducând la un timp de execuție redus. Datele pot fi modificate folosind proceduri și avantajul major este că nu sunt legate de o anumită aplicație.

Procedurile stocate pot accepta parametrii ca intrare și pot returna mai multe valori ca parametru de ieșire. În SQL Server procedurile stocate efectuează operațiuni în baza de date și pot returna o valoare de stare unei aplicații sau a unei proceduri de apelare prin lot. Procedurile definite de utilizator sunt create folosind baza de date definită de utilizator, cu excepția când avem o bază de date cu citire numai. Pentru asta, trebuie să-l dezvoltăm în Transact SQL (T-SQL). Tempdb este locul în care sunt stocate toate procedurile temporare. Există două tipuri de proceduri stocate pe care le avem

  1. Proceduri locale
  2. Proceduri globale

Procedurile locale sunt cele vizibile numai pentru utilizatorul care o folosește în conexiune, în timp ce procedurile globale sunt vizibile pentru oricare dintre utilizatorii din aceeași conexiune.

Structura creării procedurii

Aici, proprietar înseamnă numele bazei de date și pentru a trece parametrul trebuie să adăugăm simbolul „@”.

CREATE PROCEDURE .
AS
Execute a Stored Procedure
Exec is the command for the execution of the procedure.
EXEC Procedure_name

Comparație între procedura stocată și funcțiile

Procedura și funcțiile stocate pot fi utilizate pentru a obține aceeași funcționalitate. Putem personaliza atât procedurile, cât și funcțiile. Diferența dintre ele este că funcțiile sunt proiectate pentru a-și trimite ieșirea la Transact SQL, iar procedurile stocate sunt proiectate pentru a returna ieșirea la o interogare, precum și pot returna ieșirea și la T-SQL. Aplicațiile pot avea o intrare din procedurile stocate, în timp ce funcțiile definite de utilizator pot returna variabile de tabel și nu sunt privilegiate să schimbe setările mediului, nici mediul sistemului de operare.

Baza de date a companiei

CompanieCategorieArticol
Tarlealimentefursecuri
Tarlealimentechipsuri
Lakméproduse cosmeticeruj
PieptbăcănieSeminte de in
Pieptalimentebiscuiți
Pieptbăcănieulei
oleproduse cosmeticeLac de unghii
oleproduse cosmeticePerie de păr

Exemplu de procedură stocată

Următoarea instrucțiune SQL creează o procedură stocată care selectează compania

CREAȚI PROCEDURA SelectAllExample

LA FEL DE

SELECTA * DE LA compania GO;

Executați procedura stocată mai sus după cum urmează:

Executând procedura stocată mai sus, putem folosi următoarea comandă:

EXEC SelectAllExample;

Exemplu de procedură stocat cu un parametru

Următoarea instrucțiune SQL creează o procedură stocată cu un singur parametru care trebuie trecut, care selectează o companie cu un element ca parametru

CREATE PROCEDURE SelectAllExample @item nvarchar (30)

LA FEL DE

SELECTA * DE la compania WHERE item = @item GO;

Executați procedura stocată mai sus după cum urmează:

Pentru a executa procedura stocată mai sus cu un parametru, putem folosi următoarea comandă: EXEC SelectAllExample item = „cookie-uri”;

Exemplu de procedură stocat cu mai mulți parametri

Următoarea instrucțiune SQL creează o procedură stocată cu mai mulți parametri care selectează compania cu element și categorie ca parametru

CREAȚI PROCEDURA SelectAllExample @item nvarchar (30), @ categoria nvarchar (10)

AS SELECTA * DE la compania WHERE item = @ item AND category = @ category GO;

Executați procedura stocată mai sus după cum urmează:

Pentru a executa procedura stocată mai sus cu mai mulți parametri, putem folosi următoarea comandă de care avem nevoie pentru a trece mai mulți parametri cu separat de virgulă: EXEC SelectAllExample item = "cookie", categorie = "comestibles";

Avantajele procedurii în SQL

  • Îmbunătățirea aplicației se poate realiza prin proceduri. Dacă o procedură este numită de mai multe ori într-o singură aplicație, atunci se utilizează versiunea compilată a procedurii.
  • Traficul dintre baza de date și aplicație poate fi redus, deoarece declarațiile mari sunt deja introduse în baza de date și nu trebuie să le trimitem din nou și din nou.
  • Utilizarea procedurilor poate fi realizată reutilizarea codului, similar funcțiilor și metodelor care lucrează în Java și în alte limbaje de programare.

Dezavantajele procedurii în SQL

  • Procedurile stocate consumă multă memorie. Este de datoria unui administrator de baze de date să decidă o limită superioară la câte proceduri stocate sunt realizabile pentru o anumită aplicație.
  • Procedurile stocate nu pot fi depanate folosind MySQL.

Concluzie: Ce este Procedura în SQL

  • Instrucțiuni simple care nu selectează, inclusiv instrucțiuni DML precum Insert și ștergere, de asemenea, instrucțiuni DDL, cum ar fi Drop și Create, pot fi incluse în programele stocate.
  • Consumul de memorie este mai mare, dar rata de căutare poate fi redusă, iar reutilizarea codului este benefică.
  • Procedurile stocate pot fi implementate cu sau fără variabile și pot fi executate trecând parametrii, dacă este necesar.

Articole recomandate

Acesta a fost un ghid pentru Ce este Procedura în SQL. Aici am discutat despre structura, exemple, avantaje și dezavantaje ale procedurii în SQL. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Ce este SQL Server?
  2. Ce este baza de date MySQL
  3. MySQL OpenSource
  4. Ce este SQL