Académique Documents
Professionnel Documents
Culture Documents
Page 1
Procédures et fonctions : Création
Procédures et fonctions
L’option OR REPLACE permet de spécifier au système le remplacement de la
procèdure ou de la fonction si elle existe déjà dans la BD.
liste d’arguments: nom_arg ( IN| OUT| IN OUT ) type
IN: permet de passer une valeur de l’environnement appelant à la
procédure ou la fonction.
OUT: permet à une procédure de retourner une valeur à l’environnement
appelant.
IN OUT: permet d’utiliser un même paramètre pour passer une valeur de
l’environnement appelant à la procédure, puis d’obtenir une valeur en
retour de l’exécution de la procédure.
le mot RETURN permet de spécifier le type de la donnée retour.
Le corps PL/SQL doit commencer par le mot clé BEGIN et se termine par
END. Il peut être composé d’une partie déclarative , d’un corps de la
procédure et d’un gestionnaire d’erreurs.
Page 2
Exemples
Exemples
Page 3
Exemples
Exemple : Créer une procédure, ayant comme paramètre le numéro d’un
employé, qui retourne les informations de l’employé passé en
paramètre .
employe (numemp, nomemp, salaire, date_embauche )
CREATE PROCEDURE REQ_EMPLOYE
( numero IN employe.numemp%type,
nom_e OUT employe.nomemp%type,
sal_e OUT employe.salaire%type,
date_e OUT employe.date_embauche%type)
IS
BEGIN
SELECT nomemp, salaire, date_embauche
into nom_e, sal_e, date_e
WHERE numemp = numero ;
END ;
© Base de données Avancees / M.MOURCHID, 2022-2023
PROCEDURE FONCTION
Type de données
Non Oui
RETURN
Renvoie
Possible Oui
un paramètre
RETURN résultat;
Page 4
Utilisation d’une procédure ou fonction)
Exemples:
+Sous SQL PLUS:
1) EXECUTE augmentation_prix( 1, 0.2);
2) VARIABLE nom varchar2(30)
EXECUTE :nom= nom_employe (2) ;
PRINT nom;
+ A partir d’un bloc PL/SQL
DECLARE V_numP NUMBER := 14
BEGIN
augmentation_prix( V_numP, 0.1);
END ;
Page 5
Méthodes de transfert des paramètres
L’appel d’un sous programme avec argument(s) respecte des règles
Méthode Description
Positionnement Liste les valeurs dans l'ordre dans lequel les paramètres sont déclarés
Association nom Liste les valeurs dans un ordre arbitraire en associant chacune avec le
nom de son paramètre en utilisant la syntaxe spéciale (=>)
Combinaison Liste les premières valeurs par positionnement, et les suivantes en
utilisant la syntaxe spéciale de la méthode Nom
Attention: Pour tous les appels mixtes, il faut que les notations
positionnelles précèdent les notations nommées.
Page 6
Utilisation Option DEFAULT pour les paramètres
BEGIN
add_dept;
add_dept ( ‘INFORMATIQUE', ‘RABAT');
add_dept ( v_loc => ‘KENITRA‘,v_name =>‘COMPTABILITE');
add_dept ( v_loc => ‘CASA') ;
END;
/
Page 7
Modification d’une procédure ( fonction)
Page 8