Crear procedimientos almacenados en un paquete PL/SQL

Puede crear procedimientos almacenados PL/SQL en un paquete PL/SQL utilizando el asistente Crear paquete PL/SQL.

Antes de empezar

Asegúrese de que se cumplen los requisitos siguientes:

Acerca de esta tarea

Con el asistente Crear 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:

  1. En el Explorador de proyectos de datos, pulse con el botón derecho del ratón en la carpeta Paquetes PL/SQL de un proyecto y pulse Nuevo > Paquete PL/SQL. Se abrirá el asistente Crear paquete PL/SQL.
  2. Lleve a cabo los pasos que le indique 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.

  3. 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;
  4. 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;
  5. 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. 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)

Comentarios