logo

Shranjene procedure SQL

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:

  1. ZAČETI: To je tisto, kar neposredno izvaja ali lahko rečemo, da je izvršljiv del.
  2. 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.