För att skapa en funktion i PL/SQL, använd SKAPA ELLER ERSÄTT FUNKTION påstående. Nedan finns syntaxdetaljer och ett exempel.
Syntax
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
Klausul ELLER ERSÄTT är valfritt, men det är bättre att använda eftersom vi brukade kompilera vår kod flera gånger efter att ha gjort ändringarna. Om din funktion kräver parametrar, ange det inom parentes. Ange datatypen för Return-satsen, eftersom en funktion måste returnera ett värde.
Exempel
Följande är ett exempel på en PL/SQL-funktion för att lägga till två tal och returnera summan av dem. Denna funktion tar två parametrar av nummertyp och returnerar ett nummer.
CREATE OR REPLACE FUNCTION sum_two_numbers (p_n1 IN NUMBER, p_n2 IN NUMBER) RETURN NUMBER IS BEGIN RETURN (p_n1 + p_n2); END; /
Testa det med Select Statement:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Utdata:
TOTAL ---------- 5 1 row selected.
Testa det med PL/SQL Block:
SET SERVEROUTPUT ON; DECLARE n_total NUMBER; BEGIN n_total := sum_two_numbers (2, 3); DBMS_OUTPUT.put_line ('Total is :' || n_total); END; /
Utdata:
Total is :5 PL/SQL procedure successfully completed.
Få mer information om Oracle PL/SQL-funktionerna från Oracle Docs.
Se även:
- Oracle-funktionsexempel
- Oracle Row_Number-funktionsexempel