Puede crear procedimientos almacenados PL/SQL en un paquete PL/SQL utilizando
el asistente Nuevo paquete PL/SQL.
Antes de empezar
Asegúrese de que se cumplen los requisitos siguientes:
Acerca de esta tarea
Con el asistente Nuevo paquete PL/SQL, puede especificar PL/SQL
como lenguaje del procedimiento almacenado y seleccionar una plantilla.
Luego, puede
editar la especificación y el cuerpo del paquete en el editor de rutinas.
Procedimiento
Para crear un procedimiento almacenado en un paquete PL/SQL:
- En el Explorador de proyectos de datos, pulse con el botón derecho en la carpeta Paquetes PL/SQL de un proyecto y seleccione . Se abre el asistente Nuevo paquete PL/SQL.
- 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 del procedimiento
almacenado y variables. Por ejemplo:
CREATE OR REPLACE PACKAGE emp_admin
IS
...
PROCEDURE hire_emp (
p_empno NUMBER,
p_ename VARCHAR2,
p_job VARCHAR2,
p_sal NUMBER,
p_hiredate DATE DEFAULT sysdate,
p_comm NUMBER DEFAULT 0,
p_mgr NUMBER,
p_deptno NUMBER DEFAULT 10
);
...
END emp_admin;
- Pulse la pestaña Cuerpo y edite el cuerpo del paquete PL/SQL
para añadir el procedimiento almacenado. Ejemplo:
--
-- Cuerpo del paquete 'emp_admin'.
--
CREATE OR REPLACE PACKAGE BODY emp_admin
IS
--
...
-- Procedimiento que inserta un nuevo registro de empleado en la tabla 'emp'.
--
PROCEDURE hire_emp (
p_empno NUMBER,
p_ename VARCHAR2,
p_job VARCHAR2,
p_sal NUMBER,
p_hiredate DATE DEFAULT sysdate,
p_comm NUMBER DEFAULT 0,
p_mgr NUMBER,
p_deptno NUMBER DEFAULT 10
)
AS
BEGIN
INSERT INTO emp(empno, ename, job, sal, hiredate, comm, mgr, deptno)
VALUES(p_empno, p_ename, p_job, p_sal,
p_hiredate, p_comm, p_mgr, p_deptno);
END;
...
--
END;
- Guarde el paquete.
Se puede sobrecargar un procedimiento almacenado 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 paquete sobrecargado o función sobrecargada de un paquete
PL/SQL muestra el número de sus parámetros entre paréntesis:
Procedure02(1)
Procedure02(2)