Puede crear funciones definidas por el usuario PL/SQL en un paquete PL/SQL
utilizando el asistente Nuevo paquete PL/SQL.
Procedimiento
Para crear una función definida por el usuario de PL/SQL
desde un proyecto de desarrollo de datos:
- En el Explorador de proyectos de datos, pulse con el botón derecho del ratón en el esquema de la
carpeta Paquetes
PL/SQL y pulse . Se abrirá el asistente Paquete PL/SQL nuevo.
- Lleve a cabo los pasos que le indica el asistente.
El asistente crea el
paquete PL/SQL y lo añade a la carpeta Paquetes PL/SQL;
la especificación del paquete PL/SQL se abre en el editor de rutinas.
- En la especificación, añada el nombre de función y las variables.
Por ejemplo:
CREATE OR REPLACE PACKAGE emp_admin
IS
...
FUNCTION SampleFunction RETURN integer;
...
END emp_admin;
- Pulse en la pestaña Cuerpo y edite el cuerpo del paquete PL/SQL para añadir la
función. Ejemplo:
--
-- Cuerpo del paquete 'emp_admin'.
--
CREATE OR REPLACE PACKAGE BODY emp_admin AS
FUNCTION hire_emp (name VARCHAR2, job VARCHAR2,
mgr NUMBER, hiredate DATE, sal NUMBER, comm NUMBER,
deptno NUMBER) RETURN NUMBER IS
END;
- Guarde el paquete.
Resultados
De forma predeterminada, la creación del paquete no lo registra en
la base de datos. Para registrar el paquete en la base de datos, debe
desplegarlo.
Se puede sobrecargar una función definida por el usuario de
PL/SQL solamente si todas las rutinas del mismo nombre y tipo residen
en el mismo paquete PL/SQL. En un paquete PL/SQL, un procedimiento o
función puede ser sobrecargado por otro procedimiento o función del
mismo tipo y nombre, pero con un número diferente de parámetros. Una función de un paquete
se puede sobrecargar por otra función con el mismo número de parámetros si el tipo de datos de uno de los parámetros es distinto. Un procedimiento sobrecargado o función sobrecargada de un paquete
PL/SQL muestra el número de sus parámetros entre paréntesis:
Para el procedimiento, el motor simplemente valida el número del parámetro y el nombre del procedimiento, pero no verifica si el tipo de datos del parámetro es IN, IN OUT o OUT.
Para la función, el motor valida el tipo de datos de los parámetros, el número y el nombre de la función.
Function(1)
Function(2)
Una vez creado un paquete PL/SQL, puede desplegarlo y ejecutarlo.