O procedură stocată în SQL este un grup de interogări SQL care pot fi salvate și reutilizate de mai multe ori. Este foarte util deoarece reduce nevoia de rescriere a interogărilor SQL. Îmbunătățește eficiența, reutilizarea și securitatea în gestionarea bazelor de date.
De asemenea, utilizatorii pot transmite parametri la procedurile stocate, astfel încât procedura stocată să poată acționa asupra valorilor parametrilor transmise.
subșir java
Procedurile stocate sunt create pentru a efectua una sau mai multe DML operațiuni pe baza de date. Nu este altceva decât un grup de Instrucțiuni SQL care acceptă o anumită intrare sub formă de parametri, efectuează o anumită sarcină și poate returna sau nu o valoare.
Sintaxă
Două sintaxe importante pentru utilizarea procedurilor stocate în SQL sunt:
Sintaxă pentru a crea o procedură stocată
CREATE PROCEDURE nume_procedura
(parametru1 tip_date, parametru2 tip_date, …)
LA FEL DE
ÎNCEPE
— Instrucțiuni SQL care urmează să fie executate
Sfârşit
Sintaxă pentru a executa procedura stocată
EXEC nume_procedură parametru1_valoare, parametru2_valoare, ..
Parametru
Cea mai importantă parte sunt parametrii. Parametrii sunt utilizați pentru a transmite valori către Procedură. Există diferite tipuri de parametri, care sunt după cum urmează:
- ÎNCEPE: Aceasta este ceea ce execută direct sau putem spune că este o parte executabilă.
- SFÂRŞIT: Până la aceasta, codul va fi executat.
Exemplu de procedură stocată SQL
Să ne uităm la un exemplu de procedură stocată în SQL pentru a o înțelege mai bine.
format șir de caractere java
Imaginați-vă o bază de date numită SampleDB, un tabel numit Customers cu câteva date eșantion și o procedură stocată numită GetCustomersByCountry.
limbajul mașinii
Procedura stocată ia parametrul Țară și returnează o listă de clienți din tabelul Clienți care se potrivește cu țara specificată. În cele din urmă, procedura stocată este executată cu parametrul Sri Lanka pentru a prelua lista clienților din Sri Lanka.
Interogare:
-- Create a new database named 'SampleDB' CREATE DATABASE SampleDB; -- Switch to the new database USE SampleDB; -- Create a new table named 'Customers' CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50), ContactName VARCHAR(50), Country VARCHAR(50) ); -- Insert some sample data into the Customers table INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country) VALUES (1, 'Shubham', 'Thakur', 'India'), (2, 'Aman ', 'Chopra', 'Australia'), (3, 'Naveen', 'Tulasi', 'Sri lanka'), (4, 'Aditya', 'Arpan', 'Austria'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain'); -- Create a stored procedure named 'GetCustomersByCountry' CREATE PROCEDURE GetCustomersByCountry @Country VARCHAR(50) AS BEGIN SELECT CustomerName, ContactName FROM Customers WHERE Country = @Country; END; -- Execute the stored procedure with parameter 'Sri lanka' EXEC GetCustomersByCountry @Country = 'Sri lanka';>
Notă: Va trebui să vă asigurați că contul de utilizator are privilegiile necesare pentru a crea o bază de date. Puteți încerca să vă conectați ca alt utilizator cu privilegii administrative sau să contactați administratorul bazei de date pentru a acorda privilegiile necesare contului dvs. de utilizator. Dacă utilizați un serviciu de baze de date bazat pe cloud, asigurați-vă că ați configurat corect contul de utilizator și permisiunile acestuia.
Ieșire:
| Numele clientului | nume de contact |
|---|---|
| Naveen | Tulasi |
Puncte importante despre procedurile stocate SQL
- O procedură stocată este un cod SQL pregătit pe care îl puteți salva, astfel încât codul poate fi reutilizat din nou și din nou.
- Procedurile stocate permit ca codul care este utilizat în mod repetat să fie salvat în baza de date și rulat de acolo, mai degrabă decât de la client. Aceasta oferă o abordare mai modulară a proiectării bazei de date.
- Deoarece procedurile stocate sunt compilate și stocate în baza de date, acestea sunt foarte eficiente. SQL Server compilează fiecare procedură stocată o dată și apoi reutilizează planul de execuție. Acest lucru duce la creșteri extraordinare de performanță atunci când procedurile stocate sunt apelate în mod repetat.
- Procedurile stocate oferă o mai bună securitate datelor dumneavoastră. Utilizatorii pot executa o procedură stocată fără a fi nevoie să execute direct oricare dintre instrucțiuni. Prin urmare, unui utilizator i se poate acorda permisiunea de a executa o procedură stocată fără a avea permisiuni pentru tabelele subiacente.
- Procedurile stocate pot reduce traficul și latența în rețea, sporind performanța aplicației. Un singur apel la o procedură stocată poate executa mai multe instrucțiuni.
- Procedurile stocate au un suport mai bun pentru tratarea erorilor.
- Procedurile stocate pot fi utilizate pentru a oferi funcționalități avansate ale bazei de date, cum ar fi modificarea datelor din tabele și încapsularea acestor modificări în tranzacțiile bazei de date.