For at oprette en funktion i PL/SQL skal du bruge OPRET ELLER ERSTAT FUNKTION udmelding. Nedenfor er syntaksdetaljerne og et eksempel.
Syntaks
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 REPLACE er valgfri, men den er bedre at bruge, fordi vi plejede at kompilere vores kode flere gange efter at have foretaget ændringerne. Hvis din funktion kræver parametre, skal du angive det i parentes. Angiv datatypen for Return-sætning, fordi en funktion skal returnere en værdi.
Eksempel
Det følgende er et eksempel på en PL/SQL-funktion til at tilføje to tal og returnere summen af det. Denne funktion tager to parametre af taltype og returnerer et tal.
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; /
Test det ved hjælp af Select Statement:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Output:
TOTAL ---------- 5 1 row selected.
Test 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; /
Output:
Total is :5 PL/SQL procedure successfully completed.
Få flere detaljer om Oracle PL/SQL-funktionerne fra Oracle Docs.
Se også:
- Oracle-funktionseksempel
- Oracle Row_Number-funktionseksempel