Abir GORRAB
abir.gorrab@sesame.com.tn
Introduction
PL/SQL 2
Introduction
PL/SQL 3
Organisation d’un Package
PL/SQL 4
Organisation d’un Package
PL/SQL 5
Organisation d’un Package
Cette partie peut inclure des objets qui ne sont pas listés dans
la partie spécification, et sont donc privés.
PL/SQL 6
Déclaration d’un Package
La déclaration de la partie spécification d'un paquetage
s'effectue avec l'instruction
CREATE [OR REPLACE] PACKAGE
PL/SQL 7
Déclaration de la partie spécification
Syntaxe :
END [nomPaquetage];
PL/SQL 8
Déclaration de la partie corps
Syntaxe :
CREATE [OR REPLACE] PACKAGE BODY nomPaquetage
{IS | AS}
END [nomPaquetage];
PL/SQL 9
Exemple: Spécification d’un package
Soit la table EMP(empno,name,sal)
CREATE OR REPLACE PACKAGE Pkg_Finance
IS
-- Variables globales et publiques
GN_Salaire EMP.sal%Type ;
-- Fonctions publiques
FUNCTION F_Test_Augmentation
(
PN_Numemp IN EMP.empno%Type
,PN_Pourcent IN NUMBER
) Return NUMBER ;
-- Procédures publiques
PROCEDURE Test_Augmentation
(
PN$Numemp IN EMP.empno%Type -- numéro de l'employé
,PN$Pourcent IN OUT NUMBER -- pourcentage d'augmentation
);
End Pkg_Finance ;
PL/SQL 10
Exemple : Corps d’un package
CREATE OR REPLACE PACKAGE BODY Pkg_Finance IS
-- Variables globales privées
GR_Emp EMP%Rowtype ;
-- Procédure privées
PROCEDUREAffiche_Salaires
IS
-- corps de la procédure
END Affiche_Salaires ;
PL/SQL 11
Exemple : Corps d’un package
-- Fonctions publiques
-- corps de la fonction
END F_Test_Augmentation;
PL/SQL 12
Exemple : Corps d’un package
-- Procédures publiques
PROCEDURE Test_Augmentation ( PN_Numemp IN EMP.empno%Type,
PN_Pourcent IN OUT NUMBER)
IS
BEGIN
-- Corps de la procédure publique
END Pkg_Finance;
PL/SQL 13
Organisation d’un Package
La spécification du paquetage est créée avec
une variable globale et publique :GN_Salaire
une procédure publique :PROCEDURE Test_Augmentation
une fonction publique :FUNCTION F_Test_Augmentation
qui sont visibles depuis l'extérieur (le programme appelant)
PL/SQL 14
Référence au contenu d’un Package
Syntaxe :
nomPaquetage.nomObjet
nomPaquetage.nomSousProgramme(…)
PL/SQL 15
Accès/Suppression
L'accès à un objet d'un paquetage est réalisé avec la
syntaxe suivante :
nom_paquetage.nom_objet[(liste paramètres)]
L'exécution d'une procédure d'un package s'effectue par
la commande
E X E C U T E nom_package.nom_procédure(liste_paramètres
effectifs) ;
Suppression d’un Package
DROP PACKAGE BODY package_name;
--suppression de la partie corps du package
DROP PACKAGE package_name;
--suppression de la spécification
PL/SQL 16
Accès/Suppression
PL/SQL 17
Recompilation d’un package
PL/SQL 18
Packages prédéfinis
Dbms_output.put_line(‘ok’);
PL/SQL 19