Para criar uma função em PL/SQL, use CREATE OR REPLACE FUNCTION demonstração. Abaixo estão os detalhes de sintaxe e um exemplo.
Sintaxe
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
A cláusula OR REPLACE é opcional, mas é melhor usar porque costumávamos compilar nosso código várias vezes depois de fazer as alterações. Se sua função requer parâmetros, forneça-os entre parênteses. Especifique o tipo de dados para a cláusula Return, porque uma função deve retornar um valor.
Exemplo
A seguir está um exemplo de uma função PL/SQL para adicionar dois números e retornar o total deles. Esta função recebe dois parâmetros do tipo número e retornará um número.
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; /
Teste usando Select Statement:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Saída:
TOTAL ---------- 5 1 row selected.
Teste usando o bloco PL/SQL:
SET SERVEROUTPUT ON; DECLARE n_total NUMBER; BEGIN n_total := sum_two_numbers (2, 3); DBMS_OUTPUT.put_line ('Total is :' || n_total); END; /
Saída:
Total is :5 PL/SQL procedure successfully completed.
Obtenha mais detalhes sobre as funções Oracle PL/SQL no Oracle Docs.
Veja também:
- Exemplo de função do Oracle
- Exemplo da função Oracle Row_Number