Para crear una función en PL/SQL, use CREAR O REEMPLAZAR FUNCIÓN declaración. A continuación se muestran los detalles de la sintaxis y un ejemplo.
Sintaxis
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
La cláusula OR REPLACE es opcional, pero es mejor usarla porque solíamos compilar nuestro código varias veces después de realizar los cambios. Si su función requiere parámetros, indíquelos entre paréntesis. Especifique el tipo de datos para la cláusula Return, ya que una función debe devolver un valor.
Ejemplo
El siguiente es un ejemplo de una función PL/SQL para sumar dos números y devolver el total. Esta función toma dos parámetros de tipo numérico y devolverá un 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; /
Pruébalo usando Select Statement:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Salida:
TOTAL ---------- 5 1 row selected.
Pruébelo usando el bloque 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; /
Salida:
Total is :5 PL/SQL procedure successfully completed.
Obtenga más detalles sobre las funciones Oracle PL/SQL de Oracle Docs.
Ver también:
- Ejemplo de función de Oracle
- Ejemplo de función Oracle Row_Number