logo

SQL saglabātās procedūras

SQL saglabātā procedūra ir SQL vaicājumu grupa, ko var saglabāt un atkārtoti izmantot vairākas reizes. Tas ir ļoti noderīgi, jo samazina nepieciešamību pārrakstīt SQL vaicājumus. Tas uzlabo datu bāzes pārvaldības efektivitāti, atkārtotu izmantošanu un drošību.

Lietotāji var arī nodot parametrus saglabātajām procedūrām, lai saglabātā procedūra varētu iedarboties uz nodotajām parametru vērtībām.

Saglabātās procedūras tiek izveidotas, lai veiktu vienu vai vairākas DML operācijas datu bāzē. Tas nav nekas cits kā grupa SQL priekšraksti kas pieņem kādu ievadi parametru veidā, veic kādu uzdevumu un var vai neatgriezt vērtību.



Sintakse

Divas svarīgas sintakses saglabāto procedūru izmantošanai SQL ir:

Sintakse, lai izveidotu saglabāto procedūru

IZVEIDOT PROCEDŪRU procedūras_nosaukums
(parameter1 datu_veids, parametra 2 datu_veids, …)
AS
SĀKT
— SQL priekšraksti, kas jāizpilda
BEIGAS

Sintakse saglabātās procedūras izpildei

EXEC procedūras_nosaukums parametra1_vērtība, parametra2_vērtība, ..

Linux pārdēvēt mapi

Parametrs

Vissvarīgākā daļa ir parametri. Parametri tiek izmantoti, lai nodotu vērtības uz procedūru. Ir dažādi parametru veidi, kas ir šādi:

  1. SĀKT: Tas ir tas, kas tieši izpilda vai mēs varam teikt, ka tā ir izpildāma daļa.
  2. BEIGAS: Līdz šim kods tiks izpildīts.

SQL saglabātās procedūras piemērs

Apskatīsim SQL saglabātās procedūras piemēru, lai to labāk izprastu.

Iedomājieties datu bāzi ar nosaukumu SampleDB, tabulu ar nosaukumu Klienti ar dažiem datu paraugiem un saglabātu procedūru ar nosaukumu GetCustomersByCountry.

Saglabātā procedūra izmanto parametru Valsts un atgriež klientu sarakstu no tabulas Klienti, kas atbilst norādītajai valstij. Visbeidzot, saglabātā procedūra tiek izpildīta ar parametru Šrilanka, lai izgūtu Šrilankas klientu sarakstu.

Vaicājums:

-- 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';>

Piezīme: Jums būs jāpārliecinās, vai lietotāja kontam ir nepieciešamās privilēģijas datu bāzes izveidei. Varat mēģināt pieteikties kā cits lietotājs ar administratora privilēģijām vai sazināties ar datu bāzes administratoru, lai piešķirtu vajadzīgās privilēģijas savam lietotāja kontam. Ja izmantojat mākoņa bāzes pakalpojumu, pārliecinieties, vai esat pareizi konfigurējis lietotāja kontu un tā atļaujas.

logo java

Izvade:

Klienta vārds Kontakta vārds
Naveen Tulasi

Svarīgi punkti par SQL saglabātajām procedūrām

  • Saglabātā procedūra ir sagatavots SQL kods, kuru varat saglabāt, lai kodu varētu izmantot atkal un atkal.
  • Saglabātās procedūras ļauj atkārtoti izmantoto kodu saglabāt datu bāzē un palaist no turienes, nevis no klienta. Tas nodrošina modulārāku pieeju datu bāzes projektēšanai.
  • Tā kā saglabātās procedūras tiek apkopotas un saglabātas datu bāzē, tās ir ļoti efektīvas. SQL Server vienu reizi apkopo katru saglabāto procedūru un pēc tam atkārtoti izmanto izpildes plānu. Tas rada milzīgu veiktspējas pieaugumu, ja atkārtoti tiek izsauktas saglabātās procedūras.
  • Saglabātās procedūras nodrošina labāku jūsu datu drošību. Lietotāji var izpildīt saglabāto procedūru bez nepieciešamības tieši izpildīt nevienu no paziņojumiem. Tāpēc lietotājam var piešķirt atļauju izpildīt saglabāto procedūru bez atļaujām pamata tabulās.
  • Saglabātās procedūras var samazināt tīkla trafiku un latentumu, palielinot lietojumprogrammu veiktspēju. Viens saglabātas procedūras izsaukums var izpildīt daudzus paziņojumus.
  • Saglabātajām procedūrām ir labāks atbalsts kļūdu apstrādei.
  • Saglabātās procedūras var izmantot, lai nodrošinātu papildu datu bāzes funkcionalitāti, piemēram, datu modificēšanai tabulās un šo izmaiņu iekapsulēšanai datu bāzes transakcijās.