La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

(Procedural Language / Structured Query Language)

Présentations similaires


Présentation au sujet: "(Procedural Language / Structured Query Language)"— Transcription de la présentation:

1 (Procedural Language / Structured Query Language)
Oracle - PL / SQL (Procedural Language / Structured Query Language) - LES TRIGGERS -

2 PRESENTATION DES TRIGGERS
Un traitement procédural lié à une et une seule table. Répertorié dans le dictionnaire des données. Se déclenche automatiquement lors d'un événement sur la table. Reste actif tant que la table existe. Peut être activé ou désactivé.

3 T R I G G E R Avant Mise à Jour Après Mise à Jour INSERT DELETE UPDATE
PRESENTATION DES TRIGGERS T R I G G E R Avant Mise à Jour Après Mise à Jour INSERT DELETE UPDATE

4 INSERT UPDATE DELETE IMPLEMENTATION DES TRIGGERS ORDRE BEFORE LIGNE
AFTER LIGNE

5 Création / Modification
IMPLEMENTATION DES TRIGGERS Création / Modification CREATE [OR REPLACE] TRIGGER <owner>.<nom_trig> {BEFORE | AFTER } { INSERT | UPDATE [OF col1, …] | DELETE} [OR { INSERT | UPDATE | DELETE } ] ON nom_table [FOR EACH ROW [WHEN (condition) ] DECLARE --- Déclarations BEGIN --- Contenu du bloc PL/SQL END; /

6 Un ensemble de conditions prédéfini peut être utilisé dans le bloc
IMPLEMENTATION DES TRIGGERS Un ensemble de conditions prédéfini peut être utilisé dans le bloc du trigger : INSERTING / DELETING / UPDATING Le trigger peut concerner un ordre SQL intégralement ou juste une ligne unique.

7 IMPLEMENTATION DES TRIGGERS
Exemple CREATE OR REPLACE TRIGGER t_emp BEFORE INSERT OR DELETE OR UPDATE ON e_emp FOR EACH ROW BEGIN IF INSERTING THEN --- traitement pour l'insertion END IF; IF UPDATING THEN --- traitement pour la mise à jour IF DELETING THEN --- traitement pour la suppression END; /

8 IMPLEMENTATION DES TRIGGERS
Désactivation d'un TRIGGER ALTER TRIGGER <owner>.<nom_trigger> DISABLE; Réactivation d'un TRIGGER ALTER TRIGGER <owner>.<nom_trigger> ENABLE; Désactivation de tous le triggers d'une table ALTER TABLE <nom_table> DISABLE ALL TRIGGERS; ALTER TABLE <nom_table> ENABLE ALL TRIGGERS;

9 Valeur avant modification Valeur avant suppression
IMPLEMENTATION DES TRIGGERS Utilisation des variables "OLD." et "NEW." Elles sont utilisables dans les triggers FOR EACH. Dans le bloc PL/SQL, on peut faire référence aux colonnes par les préfixes :NEW.nom_colonne :OLD.nom_colonne - Dans la clause WHEN, les colonnes avec NEW ou OLD sont sans :. INSERT UPDATE DELETE OLD.colonne NULL Valeur avant modification Valeur avant suppression NEW.colonne Valeur à insérer

10 APPLICATION SUR LES TRIGGERS
Écrire un trigger avant suppression pour la table type_App qui permet d'enregistrer les types supprimés dans une table mouvement, tab_mvt. Afficher le contenu de la table tab_mvt. Créer un trigger qui se déclenche après l'insertion de chaque locataire, pour mettre à jour la table appartement, en y insérant les données de ce locataire.


Télécharger ppt "(Procedural Language / Structured Query Language)"

Présentations similaires


Annonces Google