Per creare una funzione in PL/SQL, utilizzare CREA O SOSTITUIRE FUNZIONE dichiarazione. Di seguito sono riportati i dettagli della sintassi e un esempio.
Sintassi
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
La clausola OR REPLACE è facoltativa, ma è meglio usarla perché compilavamo il nostro codice più volte dopo aver apportato le modifiche. Se la tua funzione richiede parametri, forniscilo tra parentesi. Specifica il tipo di dati per la clausola Return, perché una funzione deve restituire un valore.
Esempio
Quello che segue è un esempio di una funzione PL/SQL per sommare due numeri e restituirne il totale. Questa funzione accetta due parametri di tipo numerico e restituirà un numero.
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; /
Verificalo utilizzando l'istruzione Seleziona:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Uscita:
TOTAL ---------- 5 1 row selected.
Testalo usando 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; /
Uscita:
Total is :5 PL/SQL procedure successfully completed.
Ottieni maggiori dettagli sulle funzioni Oracle PL/SQL da Oracle Docs.
Vedi anche:
- Esempio di funzione Oracle
- Esempio di funzione Oracle Row_Number