Mis on protseduur SQL-is

Arendajad saavad SQL-i võimsust kasutada Pl / SQL-i manustatud protseduuriliste avaldustega, kuna Pl / SQL on plokk-struktureeritud keel. Salvestatud protseduur pole midagi muud kui deklaratiivsete SQL-lausete kogum. Me võime mõelda protseduurile kui funktsioonile või meetodile. Protseduuri käivitamiseks võib kasutada päästikuid, muid protseduure või Java, PHP jne rakendusi. Plokiavaldused edastatakse Oracle'i mootorile korraga, nii et töötlemiskiirus oleks kõrge ja liiklust väheneks.

Salvestatud protseduur on just nagu koodiplokk, mille saame uuesti ja uuesti salvestada ja uuesti kasutada. Kui meil on SQL-päring, mida me kasutame mitu korda, siis selle uuesti kirjutamise asemel saame selle salvestatud protseduurina salvestada ja peame lihtsalt selle välja kutsuma ja käivitama. Samuti võime parameetreid edastada salvestatud protseduurile, nii et meil võib olla väljund parameetri väärtuse või läbitud väärtuste põhjal.

Mis on SQL?

Struktureeritud päringkeelt (SQL) hääldatakse mõnikord üksikute märkidena “S-QL” või “vt-Quel”. Seda kasutatakse relatsiooniandmebaasis andmete pärimiseks, nende töötlemiseks või värskendamiseks. Seda kasutatakse andmebaasi kirjete lisamiseks, värskendamiseks või kustutamiseks. SQL-i üks peamisi funktsioone on andmebaasi pidamine.

SQL päringu süntaks kõigi kirjete toomiseks on järgmine:

vali tabeli_nimi hulgast *

Salvestatud protseduurid SQL-is

Mis on salvestatud protseduur? Salvestatud protseduur on struktureeritud päringukeele (SQL) avalduste kogum, millele on talle määratud nimi. Neid salvestatud protseduure salvestatakse relatsioonandmebaasi haldussüsteemis (RDBMS). Seega on protseduuride korduv kutsumine võimalik lühendada mitu täideviimist ja lühendada täitmisaega. Andmeid saab protseduuride abil muuta ja peamine eelis on see, et neid ei seostata konkreetse rakendusega.

Salvestatud protseduurid võivad parameetreid sisendina vastu võtta ja väljundparameetrina anda mitu väärtust. SQL Serveris salvestatud protseduurid teostavad andmebaasis toiminguid ja saavad rakendusele või pakkide väljakutsemenetlusele olekuväärtuse tagastada. Kasutaja määratletud protseduurid luuakse kasutaja määratletud andmebaasi kasutades, välja arvatud juhul, kui meil on ainult kirjutuskaitstud andmebaas. Selleks peame selle arendama Transact SQL-is (T-SQL). Tempdb hoiab kõiki ajutisi protseduure. Salvestatud protseduure on kahte tüüpi

  1. Kohalikud protseduurid
  2. Globaalsed protseduurid

Kohalikud protseduurid on nähtavad ainult kasutajatele, kes kasutavad seda ühenduses, samas kui globaalsed protseduurid on nähtavad kõigile sama ühenduse kasutajatele.

Protseduuri loomise struktuur

Omanik tähendab siin andmebaasi nime ja parameetri edastamiseks peame lisama sümboli @.

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

Salvestatud protseduuri ja funktsioonide võrdlus

Sama funktsionaalsuse saavutamiseks saab kasutada salvestatud protseduure ja funktsioone. Saame kohandada nii protseduure kui ka funktsioone. Erinevus nende vahel on funktsioonide eesmärk on saata nende väljund Transact SQL-i ja salvestatud protseduurid on kavandatud väljundi tagastamiseks päringule, samuti väljundi tagastamiseks T-SQL-i. Rakendustel võib olla salvestatud protseduuride sisend, samas kui kasutaja määratletud funktsioonid võivad tagastada tabeli muutujaid ja neil pole privileegi muuta keskkonnasätteid ega operatsioonisüsteemi keskkonda.

Andmebaaside ettevõte

FirmaKategooriaÜksus
Tarlesöödavadküpsised
Tarlesöödavadlaastud
Lakmekosmeetikahuulepulk
RindkeretoidupoedLinaseemned
Rindkeresöödavadküpsised
Rindkeretoidupoedõli
olekosmeetikaKüünelakk
olekosmeetikaJuuksehari

Salvestatud protseduuri näide

Järgmine SQL-lause loob salvestatud protseduuri, mis valib ettevõtte

CREATE PROCEDURE ValigeAllExample

AS

VALI * ettevõttest GO;

Viige ülaltoodud salvestatud protseduur läbi järgmiselt:

Ülalpool salvestatud protseduuri teostamiseks võime kasutada järgmist käsku:

EXEC SelectAllExample;

Salvestatud protseduuri näide ühe parameetriga

Järgmine SQL-lause loob salvestatud protseduuri ühe edastatava parameetriga, mis valib parameetriks ettevõtte, kelle üksus on

LOE MENETLUS SelectAllExample @item nvarchar (30)

AS

VALI * ettevõttest, kus toode = @item GO;

Viige ülaltoodud salvestatud protseduur läbi järgmiselt:

Ülalkirjeldatud protseduuri täitmiseks ühe parameetriga saame kasutada järgmist käsku: EXEC SelectAllExample item = “küpsised”;

Salvestatud protseduuri näide mitme parameetriga

Järgmine SQL-lause loob mitme parameetriga salvestatud protseduuri, mis valivad parameetriks üksuse ja kategooria ettevõtte

CREATE PROCEDURE SelectAllExample @item nvarchar (30), @ kategooria nvarchar (10)

VALI * ettevõttest, kus item = @ item AND category = @ kategooria GO;

Viige ülaltoodud salvestatud protseduur läbi järgmiselt:

Ülalpool salvestatud protseduuri teostamiseks mitme parameetriga saame kasutada järgmist käsku, mis tuleb mitu parameetrit komaga eraldatud kujul edastada: EXEC SelectAllExample item = ”küpsised”, kategooria = ”söödavad”;

Protseduuri eelised SQL-is

  • Rakenduse täiustamist saab saavutada protseduuride abil. Kui protseduuri kutsutakse ühes rakenduses mitu korda, kasutatakse protseduuri kompileeritud versiooni.
  • Andmebaasi ja rakenduse vahelist liiklust saab vähendada, kuna suured väljavõtted on juba andmebaasi sisestatud ja me ei pea seda uuesti ja uuesti saatma.
  • Protseduuride abil saab koodi korduvkasutatavust saavutada, sarnaselt funktsioonide ja meetoditega, mis töötavad javas ja teistes programmeerimiskeeltes.

Menetluse puudused SQL-is

  • Salvestatud protseduurid kulutavad palju mälu. Andmebaasi administraatori kohus on otsustada ülemise piiri ülempiir, kui palju salvestatud protseduure on konkreetse rakenduse jaoks teostatavad.
  • Salvestatud protseduure ei saa MySQL-i abil siluda.

Järeldus: mis on protseduur SQL-is

  • Salvestatud programmidesse saab lisada lihtsaid mittevalitavaid avaldusi, sealhulgas DML-avaldusi, näiteks Lisamine ja kustutamine, samuti DDL-avaldusi, näiteks Drop and Create.
  • Mälukulu on rohkem, kuid otsimismäära saab vähendada ja koodi korduvkasutatavus on kasulik.
  • Salvestatud protseduure saab rakendada muutujatega või ilma, ning vajaduse korral parameetreid ületades.

Soovitatavad artiklid

See on juhend SQL-is Mis on protseduur. Siin oleme arutanud SQL-i protseduuri ülesehitust, näiteid, eeliseid ja puudusi. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Mis on SQL Server?
  2. Mis on MySQL andmebaas
  3. MySQL OpenSource
  4. Mis on SQL