Crear procedimientos almacenados en un paquete PL/SQL

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:

  1. En el Explorador de proyectos de datos, pulse con el botón derecho en la carpeta Paquetes PL/SQL de un proyecto y seleccione Nuevo > Paquete PL/SQL. Se abre el asistente Nuevo paquete PL/SQL.
  2. 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.

  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. 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)

Comentarios