Gespeicherte Prozeduren in einem PL/SQL-Paket erstellen

Sie können mit dem Assistenten Neues PL/SQL-Paket gespeicherte PL/SQL-Prozeduren in einem PL/SQL-Paket erstellen.

Vorbereitende Schritte

Stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:

Informationen zu diesem Vorgang

Geben Sie mit dem Assistenten Neues PL/SQL-Paket PL/SQL als Sprache für die gespeicherte Prozedur an und wählen Sie eine Schablone aus. Anschließend können Sie die Spezifikation und den Hauptteil des Pakets im Routineneditor bearbeiten.

Vorgehensweise

Gehen Sie wie folgt vor, um eine gespeicherte Prozedur in einem PL/SQL-Paket zu erstellen:

  1. Klicken Sie im Datenprojektexplorer mit der rechten Maustaste auf den Ordner PL/SQL-Pakete innerhalb eines Projekts und klicken Sie auf Neu > PL/SQL-Paket. Der Assistent Neues PL/SQL-Paket wird geöffnet.
  2. Führen Sie die Schritte des Assistenten aus.

    Der Assistent erstellt das PL/SQL-Paket und fügt es dem Ordner PL/SQL-Pakete hinzu und die PL/SQL-Paketspezifikation wird im Routineneditor geöffnet.

  3. Fügen Sie in der Spezifikation den Namen und die Variablen der gespeicherten Prozedur hinzu. Beispiel:
    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. Klicken Sie auf die Registerkarte Hauptteil und bearbeiten Sie den Hauptteil des PL/SQL-Pakets. Fügen Sie dabei die gespeicherte Prozedur hinzu. Beispiel:
    --
    --  Package body for the 'emp_admin' package.
    --
    CREATE OR REPLACE PACKAGE BODY emp_admin
    IS
       --
       ...
       --  Procedure that inserts a new employee record into the 'emp' table.
       --
       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. Speichern Sie das Paket.
    Eine gespeicherte PL/SQL-Prozedur kann nur überladen werden, wenn alle Routinen mit demselben Namen und Typ im selben PL/SQL-Paket enthalten sind. In einem PL/SQL-Paket kann eine Prozedur oder Funktion von einer anderen Prozedur oder Funktion überladen werden, die denselben Typ und Namen jedoch eine andere Anzahl Parameter hat. Ein überladenes Paket oder eine überladene Funktion in einem PL/SQL-Paket zeigt die Anzahl Parameter in Klammern an:
    Procedure02(1)
    Procedure02(2)

Feedback