Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Procedural Language /
Structured Query
Language
(PL/SQL)
1 © Olfa DRIDI
Les procédures et les fonctions stockées
2 © Olfa DRIDI
PL/SQL
Procédures stockées
• Les procédures sont utilisées pour effectuer une action
spécifique.
• Elles échangent les valeurs par l'intermédiaire d'une liste
d'arguments.
• Elle peut être stockée dans la BD comme un objet.
3 ©
PL/SQL
Syntaxe
4 ©
PL/SQL
5 ©
PL/SQL
Exemple
6 ©
PL/SQL
Exemple
7 ©
PL/SQL
8 ©
PL/SQL
Fonctions stockées
• Les fonctions sont utilisées pour retourner une valeur
• Les fonctions sont appelées comme une partie d’expression
9 ©
PL/SQL
Syntaxe
10 ©
PL/SQL
Exemple
11 ©
Les déclencheurs
12 © Olfa DRIDI
PL/SQL
Les déclencheurs
• Les déclencheurs de BD sont des objets de code PL/SQL
stockés dans la base de données et qui s'exécutent
automatiquement lorsqu'un événement se produit
• Les événements déclencheurs peuvent être:
• Des insertions dans une table
• la connexion d'un utilisateur à la base de données
• Ou encore la tentative de supprimer une table ou de modifier les
paramètres d'audit
• Les triggers de BD sont associés à une et une seule table
• Il est opérationnel jusqu’à la suppression de table à laquelle il
est lié
13 ©
PL/SQL
Les déclencheurs
• Les déclencheurs peuvent appeler d'autres procédures ou
fonctions
• Le déclencheur peut être conçu pour s'exécuter une fois pour
l'instruction, ou avec chaque ligne modifiée
• Le traitement associé au trigger peut être exécuté
• soit une fois, suite à l’événement qui l’a déclenché -trigger par
ordre
• soit pour chaque ligne de la table concernée par l’événement -
trigger ligne
14 ©
PL/SQL
Les déclencheurs
Deux types: DML triggers et System triggers
• DML triggers
• Permet d’enregistrer les valeurs de toutes les modifications
apportées à la BD
• System triggers
• auditing de toute action de création, de suppression ou de
connexion à la base
15 ©
PL/SQL
Syntaxe
CREATE [OR REPLACE] TRIGGER nom_trigger
instant liste_evts
ON nom_table ou nom_vue
[REFERENCING OLD AS old | NEW AS new]
[FOR EACH ROW]
[WHEN ( condition ) ]
Corps du trigger
©
PL/SQL
Syntaxe
On définit :
la table à laquelle le trigger est lié,
les instructions du LMD qui déclenchent le trigger
le moment où le trigger va se déclencher par rapport à
l'instruction LMD (avant ou après)
si le trigger se déclenche une seule fois pour toute
l'instruction (i.e. trigger instruction), ou une fois pour
chaque ligne modifiée/insérée/supprimée. (i.e. trigger
ligne, avec l'option FOR EACH ROW)
et éventuellement une condition supplémentaire de
déclenchement (clause WHEN)
©
PL/SQL
AFTER ou BEFORE
©
PL/SQL
Exemple
©
PL/SQL
Exemple
21 ©
PL/SQL
Exemple 3
22 ©
© Olfa DRIDI, FSB, 2020
©
Questions ????????
© Olfa DRIDI