En fullstendig veiledning om prosedyre og funksjon i PL SQL – TechCult
Miscellanea / / April 07, 2023
Programmeringsspråk er et system for å skrive dataprogrammer. Mens mange programmeringsspråk er tekstbaserte, kan andre også være grafiske. Disse språkene hjelper programmerere å kommunisere med datamaskinen. Structured Query Language (SQL) er et slikt programmeringsspråk som hjelper til med å lagre, manipulere og hente data som er lagret i en relasjonsdatabase. I dagens guide vil vi dele detaljer om utførelse av navneblokkene (prosedyrer og funksjoner) som er underprogrammer for PL SQL. Så hvis du har lett etter en grundig veiledning om prosedyre og funksjon i PL SQL, har du havnet på rett side. I dette dokumentet, sammen med å dekke emnet for lagret PL SQL-prosedyre, vil du også lære om PL SQL-prosedyreeksempel. For ikke å nevne, PL SQL-anropsprosedyre, PL SQL-avslutningsprosedyre og PL SQL-funksjonseksempel som er like viktige å lære om hvis du er en spirende programmerer. Så la oss komme i gang med vår grundige veiledning om PL SQL.
Innholdsfortegnelse
En fullstendig veiledning om prosedyre og funksjon i PL SQL
Her har vi vist PL SQL-prosedyrer og -funksjoner med eksempler i detalj.
Hva er PL SQL?
- PL SQL er en kortform til Prosedyrespråkutvidelser til SQL.
- PL SQL er et blokkstrukturert språk for programmerere som hjelper dem kombinere kraften til SQL med prosedyreuttalelser.
- Det er Oracle Corporation prosedyreutvidelse.
- Dette prosedyrespråket er tilgjengelig i Oracle database, ganger ti i minnedatabase, og IBM Db2.
- Ved kjøretid gir både PL/SQL og SQL optimal effektivitet ved å kjøre innenfor samme serverprosess.
- PL SQL sikrer effektiv og uforstyrret behandling av SQL-setninger ved å forbedre portabilitet, sikkerhet, og robusthet av databasen.
- PL SQL betyr ganske enkelt å instruere kompilatoren på hva å gjøre gjennom SQL og om hvordan gjøre det gjennom sin prosedyremessig måte.
- PL SQL gir mer kontroll til programmerere med bruk av løkker, forhold, og objektorienterte konsepter.
Hva er prosedyre og funksjon i PL SQL?
- PL SQL har to underprogrammer, kjent som prosedyrer og funksjoner.
- Vanligvis brukes en prosedyre for å utføre enhandling og en funksjon til beregne en verdi.
- Underprogrammer i PL SQL har en deklarativ del, en kjørbar del, og en valgfri del for unntakshåndtering.
- Disse underprogrammene kan opprettes og lagres i databasen som databaseobjekter.
- Prosedyre- og funksjonsunderprogrammer i PL SQL returnerer en enkelt verdi som hovedsakelig er vant til beregne og returnere en verdi.
- Disse underprogrammene er ganske enkelt en samling av PL/SQL og SQL-setninger som kan utføre en spesifikk oppgave.
Hvordan lage en lagret prosedyre og funksjon i PL SQL?
Når en kodeblokk for PL SQL-lagret prosedyre eller funksjon skrives, kompileres de av Oracle-motoren. Når den er kompilert, lagres den som et databaseobjekt. Den lagrede prosedyren eller funksjonsblokken med kode består av tre deler:
- Deklarativ del: I denne delen deklareres variabler, konstanter, markør eller unntak som skal brukes av prosedyre eller funksjon.
- Kjørbar del: I denne delen skrives definisjonen av prosedyren eller funksjonen som opprettes. Denne delen består også av PL/SQL- eller SQL-setninger som tildeler verdier, manipulerer data og kontrollerer utførelse.
- Unntakshåndteringsdel: Denne siste delen er valgfri og i den skrives det forventede unntak som kan dukke opp under utførelse av kode skrevet i den kjørbare delen.
Fordeler med lagret prosedyre og funksjon i PL SQL
Før vi avdekker PL SQL-prosedyreeksempel, må du først gjøre deg kjent med fordelene med prosedyre- og funksjonsunderprogrammer.
- Forbedre databaseytelsen: Oracle-motoren hjelper til med den automatiske kompileringen. Hver gang en PL SQL-kall-prosedyre eller -funksjon utføres, laster Oracle-motoren den kompilerte koden i SGA, System Global Area, som hjelper deg med å utføre raskere.
- Gjenbrukbarhet og ingen redundans: Antall kodelinjer kan ikke skrives gjentatte ganger fordi den samme kodeblokken for en prosedyre eller funksjon kan kalles et hvilket som helst antall ganger på flere data.
- Sikkerhet: Sikkerheten til databasen opprettholdes også ved bruk av lagrede prosedyrer eller funksjoner, da det hjelper til med å kontrollere bruken og deres tilgang ved å gi tillatelse til brukere. Selv om tillatelse til å redigere eller manipulere databasen ikke gis til brukere.
- Integritet: En annen fordel med bruken av PL SQL-lagret prosedyre eller funksjon er at den sikrer integritet ettersom de lagres som databaseobjekter av Oracle-motoren.
- Lagre minne: En av mange fordeler med lagrede prosedyrer eller funksjoner er at de deler minne som hjelper til med å lagre minne som en enkelt kopi av enten en prosedyre eller en funksjon som kan lastes inn av en rekke brukere som har tillatelse til å gjøre samme.
Les også:Hvordan fikse javascript: void (0) Feil
Syntaks for å lage lagret prosedyre
Du kan se på syntaksen nedenfor som brukes til å lage en lagret prosedyre i Oracle:
OPPRETT ELLER ERSTATT PROSEDYRE (INN/UT/INN UT , INN/UT/INN UT variabel/konstant erklæring;BEGYNNE-- PL/SQL underprogram kropp;UNNTAK- Unntakshåndteringsblokk;SLUTT,...) ER SOM ;
I koden ovenfor:
- Procedure_name representerer navnet på prosedyren.
- Variable_name representerer navnet på variabelen som brukes i den lagrede prosedyren.
- Skape eller Bytt ut prosedyren representerer et nøkkelord som brukes for å spesifisere navnet på prosedyren som skal opprettes.
- Begynne, Unntak, og Slutt representerer nøkkelord som brukes til å indikere at ulike deler av prosedyren er opprettet.
- INN/UT/INN UT representerer parametermoduser der, I refererer til LES BARE modus som brukes for en variabel som den vil akseptere verdien fra brukeren via. Dette er standard parametermodus.
- UTE refererer til SKRIV KUN modus som brukes for en variabel som returnerer verdien til brukeren.
- INN UT refererer til LESE og SKRIVE modus som brukes for en variabel som enten vil akseptere en verdi eller returnere en verdi til brukeren.
- representerer en slutt på prosedyredefinisjonen. Du kan også ganske enkelt bruke END i stedet.
Eksempel på PL SQL-prosedyre
For prosedyrekoden nedenfor, her er et enkelt eksempel som tydelig viser bruken av den lagrede prosedyren for å legge til to tall:
sett serverutgang på;OPPRETT ELLER ERSTATT Prosedyre Sum (hvor a I nummer, b I nummer) ER c nummer;BEGYNNEc:=a+b;dbms_output.put_line ('Summen av to nos= '|| c);SLUTT Sum;
I tilfelle av å kalle prosedyren, vil følgende kode bli utført:
sett serverutgang på;ERKLÆREx tall;y nummer;BEGYNNEx := &x;y := &y;Sum (x, y);SLUTT;Hvor:Angi verdi for x: 10Angi verdi for y: 20Sum av to nr: 30
PL SQL-prosedyre ble opprettet.
Syntaks for å lage funksjon i PL SQL
Nå som du er klar over hvordan du lager syntaks for lagret prosedyre og dens eksempel, er det på tide å kaste lys over hvordan du lager funksjoner i PL/SQL:
LAG ELLER ERSTATT FUNKSJON (I , I KOMME TILBAKE,...) ER SOM variabel/konstant erklæring;BEGYNNE-- PL/SQL underprogram kropp;UNNTAK- Unntakshåndteringsblokk;SLUTT;
I koden ovenfor:
- Funksjonsnavn representerer funksjonens navn.
- Variable_name representerer variabelnavnet for variabelen som brukes i funksjonen.
- Skape eller Bytt ut funksjon representerer et nøkkelord som brukes for navnet på funksjonen som skal opprettes.
- I representerer LES BARE modus som brukes for en variabel som vil akseptere verdien fra brukeren. Dette er standardparameteren.
- Komme tilbake representerer et nøkkelord som følges av en datatype som spesifiserer datatype for en verdi som funksjonen skal returnere.
Les også:Korriger kommandoen mislyktes med feilkode 1 Python Egg Info
Eksempel på PL SQL-funksjon
Nedenfor er gitt et eksempel på PL SQL-funksjonen som demonstrerer bruken av funksjonen for å legge til to tall:
sett serverutgang på;LAG ELLER ERSTATT FUNKSJON Sum (a I tall, b I tall) RETUR Nummer ISc-nummer;BEGYNNEc:=a+b;RETUR c;SLUTT;
Hvis funksjonssummen kalles, vil følgende kode bli utført:
sett serverutgang på;ERKLÆREnr1 nummer;nr2 nummer;resultatnummer;BEGYNNEno1 := &no1;no2 := &no2;resultat := Sum (no1,no2);dbms_output.put_line(‘Sum av to nos=’||resultat);SLUTT;Hvor:Angi verdi for no1: 5Angi verdi for no2: 5Sum av to nr: 10
PL SQL-prosedyre ble opprettet.
Les neste avsnitt for å vite om PL SQL exit-prosedyre.
Hva er PL SQL-utgangsprosedyre?
Exit hjelper når setningen går ut av gjeldende iterasjon av løkken når betingelsen i WHEN-klausulen er oppfylt, og overfører kontrollen til slutten av løkken som for øyeblikket pågår. Exit-setninger kan ikke brukes utenfor loopene og er ment for å gå ut av en loop heller ubetinget bruk av Exit and Continue-utsagn eller betinget bruk av Exit When og Continue When uttalelser.
Forskjellen mellom lagret og funksjonsprosedyre
Nå som du er klar over prosedyre og funksjon i PL SQL, er det endelig på tide å vite den grunnleggende forskjellen mellom de to også:
- Lagret prosedyre kan eller kan ikke returnere en verdi til den anropende delen av programmet mens, funksjon returnerer en verdi til den anropende delen av programmet.
- Lagret prosedyre returnerer en verdi ved å bruke OUT-parameteren mens, funksjon returnerer verdien med RETURN.
- Lagret prosedyre bruker IN, OUT, IN OUT parameter mens, funksjon bruker kun IN-parameter.
- Lagret prosedyre spesifiserer ikke datatypen verdien hvis den skal returnere etter et anrop til den, mens, funksjon spesifiserer datatypen til verdien som skal returneres etter et anrop til den.
- Lagret prosedyre kan ikke kalles fra funksjonsblokken med kode mens, funksjon kan kalles fra prosedyreblokken med kode.
Anbefalt:
- DDR4 vs DDR5 RAM: Hva er bedre for spill?
- Hva er typene brødbrett?
- Hvordan analysere tekst
- 4 måter å dele streng etter skilletegn i SQL
Vi håper at vår doc på prosedyre og funksjon i PL SQL var nyttig og vellykket med å svare på alle dine tvil om PL SQL og deres underprogrammer, prosedyre og funksjon, PL SQL exit-prosedyre og mer. Hvis vi har hjulpet deg på noen måte eller det er flere spørsmål fra din side, vennligst legg igjen kommentarene dine nedenfor for å gi oss beskjed.
Elon er en teknisk skribent ved TechCult. Han har skrevet veiledninger i ca. 6 år nå og har dekket mange emner. Han elsker å dekke emner relatert til Windows, Android og de nyeste triksene og tipsene.