Hvordan lage lagrede prosedyrer i SQL?



Denne artikkelen om prosedyrer i SQL vil hjelpe deg å forstå hva prosedyrer er og hvordan de øker ytelsen til en database når de implementeres.

Prosedyrer er underprogrammene som kan opprettes og lagres i som databaseobjekter. Akkurat som du kan på andre språk, kan du opprette og slippe prosedyrer i SQL også. I denne artikkelen, la oss utforske prosedyrer i SQL med syntaks og eksempler.

Temaene som er diskutert i artikkelen er:





Hva er en prosedyre i SQL?

En prosedyre i (ofte referert til som lagret prosedyre),er en gjenbrukbar enhet som innkapsler applikasjonens spesifikke forretningslogikk. En SQL-prosedyre er en gruppe SQL-setninger og logikk, samlet og lagret sammen for å utføre en bestemt oppgave.

SQL Prosedyre - Prosedyrer i SQL - Edureka



Nedenfor er viktige trekk ved SQL-prosedyrene:

hvordan åpne aws cli
  • Lett å implementere fordi de bruker en veldig enkelhøyt nivå, sterkt skrevet språk
  • Støtter tre typer parametere, nemlig,inngangs-, utgangs- og inngangsutgangsparametere.
  • Mer pålitelig enn tilsvarendeeksterne prosedyrer.
  • SQL-prosedyrer fremmer gjenbrukbarhet og vedlikeholdsevne.
  • Støtter en enkel, men kraftig tilstand og feilhåndteringsmodell.
  • Returner en statusverdi til en anropsprosedyre eller batch for å indikere suksess eller feil og årsaken til feilen.

Nå som du vet hva prosedyrer er og hvorfor de er nødvendige, la oss diskutere syntaksen og eksemplet på prosedyren i SQL.

Syntaks av prosedyrer i SQL

Følgende illustrerer den grunnleggende syntaksen for å lage en prosedyre i SQL:



OPPRETT [ELLER ERSTATT] PROSEDYRE prosedyrenavn [(parameternavn [IN | UT | IN UT] type [])] ER BEGIN [erklæring_seksjon] kjørbar_seksjon // SQL-setning brukt i den lagrede prosedyren

Syntaksterminologier

Parameter

En parameter er en variabel som har verdien av hvilken som helstgyldig SQL-datatype der underprogrammet kan utveksle verdiene med hovedkoden. Med andre ord, sarametre brukes til å overføre verdier til prosedyren. Det er 3 forskjellige typer parametere, som er som følger:

  • I : Thans er standardparameter, som alltid mottar verdiene fra anropsprogrammet. Det er en skrivebeskyttet variabel i underprogrammene, og verdien kan ikke endres i underprogrammet.
  • UTE: Det erbrukes til å få utdata fra underprogrammene.
  • INN UT: Detteparameter brukes for både å gi input og for å få output fra underprogrammene.

Andre terminologier

  • prosedyrenavn spesifiserer navnet på prosedyren. Det skal være unikt.
  • Alternativet [ELLER ERSTATT] tillater endring av en eksisterende prosedyre.
  • ER | SOM paragraf setter dekontekst for å utføre den lagrede prosedyren.Forskjellen er at nøkkelordet 'IS' brukes når prosedyren er nestet i noen andre blokker, og hvis prosedyren er frittstående, brukes 'AS'.
  • Code_Block erklærer prosedyreerklæringer som håndterer all behandling innen den lagrede prosedyren. Innholdet i code_block avhenger av reglene og prosedyrespråket som brukes av database .

Fremgangsmåte i SQL: Eksempler

Eksempel 1

Følgende eksempel oppretter en enkel prosedyre som viser velkomstmeldingen på skjermen når den kjøres. Deretter vil prosedyren være:

OPPRETT ELLER ERSTATT PROSEDYRE welcome_msg (para1_name IN VARCHAR2) ER BEGIN dbms_output.put_line (‘Hello World! '|| para1_name) END /

Utfør den lagrede prosedyren. En frittstående prosedyre kan kalles på to måter og minus

hvordan du bruker sas-programvare
  • Bruker HENRETTE nøkkelord
  • Å kalle navnet på prosedyren fra en SQL-blokk

Ovennevnte prosedyre kan kalles ved å bruke kjør nøkkelord som følger:

EXEC welcome_msg (‘Velkommen til Edureka!’)

Produksjon

Hei Verden! Velkommen til Edureka

Prosedyren utføres, og meldingen skrives ut som “Hello World! Velkommen til Edureka ”.

Eksempel 2

La oss anta at du har en tabell med Emplyoee-detaljer, som EmployeId, Firstname, Lastname, and DepartmentDetails.

Dette eksemplet oppretter en SQL-prosedyre som returnerer et ansattes navn når den ansatte er gitt som inngangsparameter til den lagrede prosedyren. Deretter vil prosedyren være:

Opprett PROSEDYRE GetStudentName (@employeeID INT, - Inngangsparameter, ansatt-ID for den ansatte @employeName VARCHAR (50) UT - Output-parameter, ansattnavn for ansatt SOM BEGYNNER VALG @ employeName = Fornavn + '' + Etternavn FRA Medarbeider_Tabell HVOR EmployeId = @ ansattID SLUTT

Fremgangsmåte for å utføre:

  • Erklær @employeName som nvarchar (50)
  • EXEC GetStudentName 01, @employeName output
  • velg @ ansattnavn

Ovennevnte prosedyre for å gi ansattes ID som inndata returnerer navnet på den aktuelle medarbeideren. Anta at hvis vi har en utgangsparameter tda må vi først deklarere variabelen for å samle utgangsverdiene.La oss nå sjekke fordelene med prosedyren i SQL.

Fordeler med prosedyrer i SQL

Hovedformålet med lagrede prosedyrer i SQL er å skjule direkte SQL-spørsmål fra koden og forbedre ytelsen til databaseoperasjoner som å velge, oppdatere og slette data. Andre fordeler med prosedyren i SQL er:

  • Reduserer mengden informasjon som sendes til databaseserveren. Det kan bli en viktigere fordel når båndbredden til nettverket er mindre.
  • Gjør det mulig å gjenbruke koden
  • Forbedrer sikkerheten siden du kan gi tillatelse til brukeren til å utføre den lagrede prosedyren i stedet for å gi tillatelse til tabellene som brukes i den lagrede prosedyren.
  • Støtt nestet prosedyrekall til andre SQL-prosedyrer eller prosedyrer implementert på andre språk.

For å avslutte, prosedyrer i SQL (lagrede prosedyrer)forbedrer ikke bare muligheten for å gjenbruke koden, men øker også ytelsen til databasen. Hvordan? Ved å redusere trafikken i nettverket ved å redusere mengden informasjon som sendes over nettverket. Med dette har vi kommet til slutten av denne artikkelen.

Hvis du ønsker å lære mer om MySQL og bli kjent med denne åpen kildekode-relasjonsdatabasen, så sjekk ut vår som kommer med instruktørledet live-opplæring og reell prosjektopplevelse. Denne opplæringen vil hjelpe deg med å forstå MySQL i dybden og hjelpe deg med å mestre emnet.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne ‘Prosedyrer i SQL-artikkelen, så kommer vi tilbake til deg.