Création de procédures mémorisées dans un package PL/SQL

Vous pouvez créer des procédures mémorisées PL/SQL dans un package PL/SQL à l'aide de l'assistant Création d'un package PL/SQL

Avant de commencer

Vérifiez que les exigences suivantes sont satisfaites :

Pourquoi et quand exécuter cette tâche

A l'aide de l'assistant Création d'un package PL/SQL, spécifiez PL/SQL en tant que langage de la procédure mémorisée, puis sélectionnez un module. Vous pouvez ensuite modifier la spécification et le corps du module dans l'éditeur de routine.

Procédure

Pour créer une procédure mémorisée dans un package PL/SQL :

  1. Dans l'explorateur de projets de données, cliquez avec le bouton droit de la souris sur le dossier PL/SQL Packages d'un projet, puis cliquez sur Nouveau > Package PL/SQL. L'assistant Création d'un package PL/SQL s'ouvre.
  2. Suivez les étapes de l'assistant.

    L'assistant crée le package PL/SQL et l'ajoute au dossier Packages PL/SQL et la spécification du package PL/SQL s'ouvre dans l'éditeur de routines.

  3. Dans la spécification, ajoutez les variables et le nom de la procédure mémorisée. Par exemple :
    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. Cliquez sur l'onglet Corps, puis éditez le corps du package PL/SQL pour ajouter la procédure mémorisée. Par exemple
    --
    --  Corps du package 'emp_admin'.
    --
    CREATE OR REPLACE PACKAGE BODY emp_admin
    IS
       --
       ...
       --  Procédure insérant un nouvel enregistrement d'employé dans la table '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. Sauvegardez le package.
    Une procédure mémorisée PL/SQL peut être surchargée uniquement si toutes les routines de même nom et de même type se trouvent dans le même package PL/SQL. Dans un package PL/SQL, une procédure ou une fonction peut être surchargée par une autre procédure ou fonction de même type et de même nom, mais avec un nombre différent de paramètres. Une procédure ou une fonction surchargée dans un package PL/SQL affiche le nombre de ses paramètres entre parenthèses :
    Procedure02(1)
    Procedure02(2)

Commentaires