Les déclencheurs
Le déclencheur : événement (INSERT, UPDATE, DELETE), moment (BEFORE, AFTER, INSTEAD OF), niveau ligne ou instruction, OLD et NEW, ses usages (journal, valeur calculée, règle) et ses dangers (cascade, traitement caché).
- 27 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
- Mises en situation
- Comprendre
Quelques cartes du deck
Déclencheur : de quoi s'agit-il ?
Voir la réponse
Traitement que la base exécute d'elle-même, sans appel explicite, quand un événement INSERT, UPDATE ou DELETE touche une table donnée.
Il s'exécute quel que soit le programme qui écrit : application, script ou saisie à la main. C'est sa force, et ce qui le rend discret.
UPDATE produit SET stock = stock - 3touche une ligne où stock vaut 10. Que valent OLD.stock et NEW.stock dans le déclencheur de ligne ?10et77et1010et37et7
Voir la réponse
10et7OLD garde la ligne avant la modification (10) et NEW la ligne telle qu'elle sera écrite (10 - 3 = 7). 7 et 10 inverse les rôles.
Un déclencheur se définit par un événement (…, UPDATE ou DELETE), un moment (…, AFTER ou INSTEAD OF) et un niveau.
Voir la réponse
Un déclencheur se définit par un événement (INSERT, UPDATE ou DELETE), un moment (BEFORE, AFTER ou INSTEAD OF) et un niveau.
Ces trois choix décident quand le traitement s'exécute, combien de fois, et avec quelles variables disponibles.
Moment d'un déclencheur : de quoi s'agit-il ?
Voir la réponse
Instant où il s'exécute par rapport à l'écriture : BEFORE, avant qu'elle ait lieu, AFTER, une fois faite, ou INSTEAD OF, à sa place.
BEFORE peut modifier ou refuser la ligne ; AFTER voit le résultat définitif, utile pour journaliser. Le choix dépend de ce que le traitement doit changer.