Mens vi diskuterede syntaksen i introduktionen til PL/SQL-lagrede procedurer, lærte vi, at en lagret procedure kan have nul, én eller mange parametre. I dag i denne tutorial vil vi lære, hvordan man opretter en PL/SQL-lagret procedure med nul parametre eller sige uden nogen parametre. Udover at oprette en lagret procedure i Oracle-databasen, vil vi også i denne tutorial lære de mange måder at kalde en lagret procedure i et PL/SQL-program på.
Sådan opretter du PL/SQL-lagret procedure uden parametre i Oracle-databasen
I det følgende eksempel vil vi lave en meget enkel procedure. Jeg vil prøve at holde eksemplet så nemt som muligt, så alle PL/SQL-læringsentusiaster derude nemt kan forstå processen med at oprette en lagret procedure.
CREATE OR REPLACE PROCEDURE pr_RebellionRider IS var_name VARCHAR2 (30):= 'Manish'; var_web VARCHAR2 (30) := 'RebellionRider.com'; BEGIN DBMS_OUTPUT.PUT_LINE('Whats Up Internet? I am '||var_name||' from '||var_web); END Pr_RebellionRider; /
I ovenstående eksempel har jeg oprettet en PL/SQL Stored procedure med navnet pr_RebellionRider, som har to variabler, der er i stand til at holde strenge af VARCHAR2 datatype. I udførelsessektionen har denne PL/SQL-procedure kun én DBMS OUTPUT-sætning, som viser de strenge, der er gemt i disse variable, tilbage til brugeren på en formateret måde.
For den detaljerede forklaring af ovenstående kode, se venligst video-tutorial på min YouTube-kanal om det samme emne.
Sådan kalder du PL/SQL-lagrede procedurer i Oracle-databasen
Efter vellykket oprettelse og kompilering af den lagrede procedure, skal du derefter kalde denne underrutine. Du kan gøre det på flere måder, såsom:
- Kald en PL/SQL-lagret procedure ved hjælp af EXECUTE-sætning.
- Kald en PL/SQL-lagret procedure ved hjælp af en anonym PL/SQL-blok.
- Kald en PL/SQL-lagret procedure ved hjælp af en navngivet PL/SQL-blok.
**Hvis i tilfælde af, at din underrutine, såsom lagret procedure, består af PL/SQL-sætning på serversiden, skal du sørge for at indstille "Serveroutput til" for at se resultatet.
Kald en PL/SQL-lagret procedure ved hjælp af EXECUTE-sætning
Den bedste måde hurtigt at kontrollere outputtet af din lagrede procedure eller teste, hvordan din PL/SQL-procedure fungerer, er at kalde den ved at bruge nøgleordet EXECUTE. For at kalde en lagret procedure ved hjælp af nøgleordet EXECUTE skal du blot skrive det samme nøgleord efterfulgt af navnet på proceduren.
EXECUTE PR_RebellionRider;
Eller du kan også skrive de første 4 bogstaver i nøgleordet EXECUTE efterfulgt af procedurenavnet.
EXEC PR_RebellionRider;
Begge udsagn er de samme og vil gøre det samme arbejde.
Kald en PL/SQL-lagret procedure ved hjælp af en anonym PL/SQL-blok
Den anden måde at kalde en procedure på er at placere en procedurekaldserklæring inde i udførelsessektionen af en anonym PL/SQL-blok.
BEGIN PR_RebellionRider; END; /
Du skal blot skrive navnet på din lagrede procedure inde i udførelsessektionen af en anonym og navngivet PL/SQL-blok. Compileren vil automatisk fortolke det som en procedurekaldserklæring. Hvis din procedure accepterer parametre, kan du angive værdier for parametre her. Vi vil tale detaljeret om lagrede procedurer med parametre i vores næste selvstudie.
Foreslået læsning:PL/SQL-blokke i Oracle-databasen
Prøv selv
Den tredje måde at kalde en lagret procedure i Oracle Database er ved at bruge navngivne PL/SQL-blokke. Dette er, hvad du selv bør prøve.
Skriv en PL/SQL-lagret procedure, der viser din yndlingsstreng, og prøv derefter at kalde den ved hjælp af en navngivet PL/SQL-blok, såsom Database Triggers eller PL/SQL-funktion.
Du kan sende mig dine svar, eller hvis du har spørgsmål, så skriv til mig via min e-mail eller på min Facebook eller Twitter. Du kan finde alle mine kontaktlinks på kontaktsiden på min hjemmeside.
Du kan hjælpe andre med at lære ved at dele denne blog med dine venner på dine sociale medier. Tak og god dag!
Hej, hvis du lærer hurtigere ved at se videoen, så led ikke længere! Jeg har lavet en kort video tutorial, der forklarer emnet. Tjek det ud nu.