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 :
- 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 . L'assistant Création d'un package PL/SQL s'ouvre.
- 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.
- 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;
- 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;
- 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)