Kuidas luua SQL-is salvestatud protseduure?



See SQL-i protseduuride artikkel aitab teil mõista, mis on protseduurid ja kuidas need rakendamise ajal andmebaasi jõudlust suurendavad.

Protseduurid on alamprogrammid, mida saab luua ja salvestada andmebaasi objektidena. Nii nagu teistes keeltes, saate ka protseduure luua ja nendest loobuda SQL samuti. Selles artiklis uurime SQL-i protseduure koos süntaksiga ja näidetega.

Artiklis käsitletavad teemad on:





Mis on protseduur SQLis?

Menetlus aastal (sageli nimetatakse salvestatud protseduuriks),on korduvkasutatav üksus, mis hõlmab rakenduse konkreetset äriloogikat. SQL-protseduur on SQL-i lausete ja loogika rühm, mis on koostatud ja salvestatud koos konkreetse ülesande täitmiseks.

SQL protseduur - protseduurid SQLis - Edureka



Allpool on loetletud SQL-i protseduuride põhijooned:

  • Lihtne rakendada, sest nad kasutavad väga lihtsatkõrgel tasemel, tugevalt kirjutatud keel
  • Toetab kolme tüüpi parameetreid, nimeltsisendi, väljundi ja sisendi-väljundi parameetrid.
  • Usaldusväärsem kui samaväärnevälised protseduurid.
  • SQL-i protseduurid soodustavad korduvkasutatavust ja hooldatavust.
  • Toetab lihtsat, kuid võimsat seisukorda ja veakäsitlusega mudelit.
  • Tagastage oleku väärtus helistamisprotseduurile või partiile, et näidata edukust või ebaõnnestumist ja ebaõnnestumise põhjust.

Nüüd, kui teate, mis protseduurid on ja miks neid vaja on, arutleme SQL-is protseduuride süntaks ja näide.

Protseduuride süntaks SQL-is

Järgmine illustreerib SQL-i protseduuri loomise põhisüntaksit:



LOE [VÕI ASENDA] MENETLUS protseduuri_nimi [(parameetri_nimi [IN | OUT | IN OUT] tüüp [])] ON BEGIN [deklaratsiooni_jagu] käivitatav_jagu // salvestatud protseduuris kasutatav SQL-lause END GO

Süntaksiterminoloogiad

Parameeter

Parameeter on muutuja, mis hoiab mis tahes väärtustkehtiv SQL-i andmetüüp, mille kaudu saab alamprogramm väärtusi põhikoodiga vahetada. Teisisõnu, lkparameetreid kasutatakse protseduurile väärtuste edastamiseks. Parameetreid on 3 erinevat tüüpi, mis on järgmised:

  • IN : Ttema on vaikeparameeter, mis saab alati väärtused helistamisprogrammist. See on alamprogrammide sees kirjutuskaitstud muutuja ja selle väärtust ei saa alamprogrammi sees muuta.
  • VÄLJAS: see onkasutatakse alamprogrammide väljundi saamiseks.
  • SEES VÄLJAS: Sedaparameetrit kasutatakse nii sisendi andmiseks kui ka alamprogrammide väljundi saamiseks.

Muud terminoloogiad

  • protseduur-nimi täpsustab protseduuri nime. See peaks olema ainulaadne.
  • Valik [VÕI ASENDA] võimaldab olemasolevat protseduuri muuta.
  • IS | AS klausel, nad määrasidkontekstis salvestatud protseduuri käivitamiseks.Erinevus seisneb selles, et märksõna „IS” kasutatakse siis, kui protseduur on ühendatud teistesse plokkidesse ja kui protseduur on eraldiseisev, siis kasutatakse „AS”.
  • Code_Block deklareerib protseduurilised avaldused, mis käsitlevad kogu töötlemist salvestatud protseduuris. Code_blocki sisu sõltub reeglitest ja menetluskeelest, mida andmebaasi .

Protseduur SQLis: näited

Näide1

Järgmine näide loob lihtsa protseduuri, mis kuvab käivitamisel ekraanil tervitusteate. Seejärel on protseduur järgmine:

Loo või asenda protseduur welcome_msg (para1_name VARCHAR2-s) ON ALGATUD dbms_output.put_line (‘Hello World!’ || para1_name) END /

Käivitage salvestatud protseduur. Eraldiseisvat protseduuri saab nimetada kahel viisil ja miinus

  • Kasutades TÄITA märksõna
  • Protseduuri nimele helistamine SQL-plokist

Ülaltoodud protseduuri saab kutsuda märksõna Execute abil järgmiselt:

EXEC welcome_msg (‘Tere tulemast Edurekasse!’)

Väljund

Tere, Maailm! Tere tulemast Edurekasse

Toiming viiakse läbi ja sõnum prinditakse välja järgmiselt: „Tere maailm! Tere tulemast Edurekasse ”.

Näide2

Oletame, et teil on tabel Emplyoee üksikasjadega, näiteks EmployeId, eesnimi, perekonnanimi ja DepartmentDetails.

Selles näites luuakse SQL-i protseduur, mis tagastab töötaja nime, kui EmployeId on sisestatud parameetrina salvestatud protseduurile. Seejärel on protseduur järgmine:

Looge PROTSEDUUR GetStudentName (@employeeID INT, --Input parameeter, töötaja @ töötaja töötaja nimi VARCHAR (50) OUT - Output parameeter, töötaja töötaja nimi AS BEGIN SELECT @ployeName = Eesnimi + '' + perekonnanimi töötajalt tabelilt WHERE EmployeId = @ployeID LÕPP

Toimingud:

õppida pl sql võrgus tasuta
  • Kuuluta @employeName nvarchariks (50)
  • EXEC GetStudentName 01, väljund @employeName
  • valige @töötajaNimi

Ülaltoodud protseduur töötaja ID sisestamisel sisestab selle konkreetse töötaja nime. Oletame, et kui meil on väljundparameeter tväljundväärtuste kogumiseks peame kõigepealt muutuja deklareerima.Vaatame nüüd protseduuri eeliseid SQL-is.

Protseduuride eelised SQL-is

SQL-is salvestatud protseduuride peamine eesmärk on varjata otsest SQL-päringud koodist ja parandada andmebaasi toimingute, nagu andmete valimine, värskendamine ja kustutamine, toimivust. Muud protseduuri eelised SQL-is on:

  • Vähendab andmebaasiserverisse saadetava teabe hulka. Sellest võib saada olulisem eelis, kui võrgu ribalaius on väiksem.
  • Lubab koodi korduvkasutatavuse
  • Tugevdab turvalisust, kuna saate salvestatud protseduuri käivitamiseks kasutajale loa anda salvestatud protseduuri käivitamiseks.
  • Toetage sisestatud protseduuride väljakutseid teistele SQL-i protseduuridele või muudes keeltes rakendatud protseduuridele.

Kokkuvõtteks võib öelda, et protseduurid SQL-is (salvestatud protseduurid)mitte ainult ei suurenda koodi korduvkasutamise võimalust, vaid suurendab ka andmebaasi jõudlust. Kuidas? Vähendades võrgu liiklust, vähendades võrgu kaudu saadetava teabe hulka. Sellega oleme jõudnud selle artikli lõppu.

Kui soovite rohkem teada saada MySQL ja tutvuge selle avatud lähtekoodiga relatsioonide andmebaasiga ning vaadake siis meie mis on varustatud juhendajate juhitud elava koolituse ja reaalse elu projektikogemusega. See koolitus aitab teil MySQL-i põhjalikult mõista ja aitab teil selle teema üle meisterlikkust saavutada.

Kas teil on meile küsimus? Palun mainige seda selle artikli artikli „Protseduurid SQL-is” kommentaaride osas ja võtame teiega ühendust.