Shranjena procedura v SQL je skupina poizvedb SQL, ki jih je mogoče shraniti in večkrat uporabiti. Je zelo uporaben, saj zmanjša potrebo po prepisovanju poizvedb SQL. Izboljša učinkovitost, ponovno uporabnost in varnost pri upravljanju baze podatkov.
nick pulos črna strela
Uporabniki lahko tudi posredujejo parametre shranjenim proceduram, tako da lahko shranjena procedura deluje na vrednosti posredovanih parametrov.
Shranjeni postopki so ustvarjeni za izvedbo enega ali več DML operacije v bazi podatkov. To ni nič drugega kot skupina Stavki SQL ki sprejme nekaj vnosa v obliki parametrov, izvede določeno nalogo in lahko ali pa tudi ne vrne vrednost.
Sintaksa
Dve pomembni sintaksi za uporabo shranjenih procedur v SQL sta:
Sintaksa za ustvarjanje shranjene procedure
CREATE PROCEDURE ime_procedure
(parameter1 data_type, parameter2 data_type, …)
AS
ZAČETI
— Izjave SQL, ki jih je treba izvesti
KONEC
Sintaksa za izvajanje shranjenega postopka
EXEC ime_procedure parameter1_value, parameter2_value, ..
Parameter
Najpomembnejši del so parametri. Parametri se uporabljajo za posredovanje vrednosti v postopek. Obstajajo različne vrste parametrov, ki so naslednji:
- ZAČETI: To je tisto, kar neposredno izvaja ali lahko rečemo, da je izvršljiv del.
- KONEC: Do tega se bo koda izvajala.
Primer shranjene procedure SQL
Oglejmo si primer shranjene procedure v SQL, da jo bolje razumemo.
Predstavljajte si bazo podatkov z imenom SampleDB, tabelo z imenom Customers z nekaj vzorčnimi podatki in shranjeno proceduro z imenom GetCustomersByCountry.
sort arraylist java
Shranjena procedura vzame parameter Država in vrne seznam strank iz tabele Stranke, ki se ujema s podano državo. Na koncu se izvede shranjena procedura s parametrom Šrilanka, da se pridobi seznam strank iz Šrilanke.
poizvedba:
-- 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';>
Opomba: Prepričati se boste morali, da ima uporabniški račun potrebne pravice za ustvarjanje baze podatkov. Lahko se poskusite prijaviti kot drug uporabnik s skrbniškimi pravicami ali se obrnete na skrbnika baze podatkov, da dodeli potrebne pravice vašemu uporabniškemu računu. Če uporabljate storitev zbirke podatkov v oblaku, se prepričajte, da ste pravilno konfigurirali uporabniški račun in njegova dovoljenja.
Izhod:
| Ime stranke | Kontaktno ime |
|---|---|
| Naveen | Tulasi |
Pomembne točke o shranjenih postopkih SQL
- Shranjena procedura je pripravljena koda SQL, ki jo lahko shranite, tako da jo lahko znova in znova uporabite.
- Shranjene procedure omogočajo, da se koda, ki se večkrat uporablja, shrani v bazo podatkov in se zažene od tam, namesto od odjemalca. To zagotavlja bolj modularen pristop k načrtovanju baze podatkov.
- Ker so shranjene procedure prevedene in shranjene v bazi podatkov, so zelo učinkovite. SQL Server enkrat prevede vsako shranjeno proceduro in nato ponovno uporabi načrt izvajanja. To vodi do izjemnega povečanja zmogljivosti, ko se shranjene procedure večkrat kličejo.
- Shranjeni postopki zagotavljajo boljšo varnost vaših podatkov. Uporabniki lahko izvedejo shranjeno proceduro, ne da bi morali neposredno izvesti katerega koli stavka. Zato lahko uporabniku podelimo dovoljenje za izvajanje shranjene procedure, ne da bi imel kakršna koli dovoljenja za osnovne tabele.
- Shranjene procedure lahko zmanjšajo omrežni promet in zakasnitev ter tako povečajo delovanje aplikacije. En sam klic shranjene procedure lahko izvede veliko stavkov.
- Shranjene procedure imajo boljšo podporo za obravnavanje napak.
- Shranjene procedure je mogoče uporabiti za zagotavljanje napredne funkcionalnosti baze podatkov, kot je spreminjanje podatkov v tabelah in enkapsulacija teh sprememb znotraj transakcij baze podatkov.