sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo crear una función en PL/SQL?

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