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.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. Mises en situation
  6. 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 - 3 touche une ligne où stock vaut 10. Que valent OLD.stock et NEW.stock dans le déclencheur de ligne ?

    • 10 et 7
    • 7 et 10
    • 10 et 3
    • 7 et 7
    Voir la réponse

    10 et 7

    OLD 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.