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?
- SQL-prosedyresyntaks
- Eksempel Fremgangsmåte i SQL
- Fordeler med SQL-prosedyrer
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.
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.