Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como criar função em PL/SQL?


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