Création de fonctions PL/SQL définies par l'utilisateur dans un package PL/SQL

Vous pouvez créer des fonctions définies par l'utilisateur PL/SQL dans un module PL/SQL à l'aide de l'assistant Nouveau package PL/SQL.

Procédure

Pour créer une fonction PL/SQL définie par l'utilisateur à partir d'un projet de développement de données :

  1. Dans l'explorateur de projets de données, cliquez avec le bouton droit de la souris sur le schéma de dossier PL/SQL Packages, puis cliquez sur Nouveau > Package PL/SQL. L'assistant Nouveau 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 fonction. Par exemple :
    CREATE OR REPLACE PACKAGE emp_admin
    IS
    
       ...
       FUNCTION SampleFunction RETURN integer;
       ...
    END emp_admin;
  4. Cliquez sur l'onglet Corps, puis éditez le corps du package PL/SQL en ajoutant la fonction. Par exemple
    --
    --  Corps du package 'emp_admin'.
    --
    CREATE OR REPLACE PACKAGE BODY emp_admin AS
       FUNCTION hire_emp (name VARCHAR2, job VARCHAR2,
          mgr NUMBER, hiredate DATE, sal NUMBER, comm NUMBER,
          deptno NUMBER) RETURN NUMBER IS
    END;
  5. Sauvegardez le package.

Résultats

Par défaut, la création du module n'enregistre pas la fonction dans la base de données. Pour enregistrer le module dans la base de données, vous devez le déployer.

Une fonction PL/SQL définie par l'utilisateur 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 fonction du package peut-être surchargée par une autre fonction avec un nombre identique de paramètres si le type de données d'un des paramètres est différent. Une procédure ou fonction surchargée dans un package PL/SQL affiche le nombre de ses paramètres entre parenthèses :
Pour la procédure, le moteur valide simplement le nombre de paramètres et le nom de la procédure, il ne se préoccupe pas du type de données du paramètre, qu'il soit IN, IN OUT ou OUT.

Pour la fonction, le moteur valide le type de données et le nombre de paramètres, ainsi que le nom de la fonction. 
Function(1)
Function(2)

Une fois que vous avez créé le package PL/SQL, vous pouvez déployer et exécuter le package.


Commentaires