Trigger
Un déclencheur est du code de base de données exécuté automatiquement lors d'événements spécifiques (INSERT/UPDATE/DELETE) ; il sert à l'audit, aux cascades et aux contraintes.
Objectif
Exécuter automatiquement de la logique lors des modifications de données, sans appels explicites de l'application.
Mécanisme
Déclencheurs BEFORE/AFTER × niveau ligne/niveau instruction. Quand l'événement se produit, la fonction trigger s'exécute automatiquement. Souvent utilisé pour journaux d'audit, mises à jour en cascade et contrôles de contraintes complexes. Mais l'exécution implicite est difficile à déboguer et peut cascader inopinément.
Cas d’usage
- Journaux d'audit des modifications
- Mises à jour et synchronisation en cascade
- Contrôles de contraintes complexes
- Rafraîchissement automatique des vues matérialisées
Exemples
- entrée
AFTER UPDATE ON users → log changeOutputChange recorded automaticallyAudit trigger
Erreurs courantes
- Trigger cascades cause recursion and deadlocks
- Limit trigger depth and avoid cycles
Termes associés
Stored Procedure
Une procédure stockée est un programme SQL précompilé stocké dans la base de données, appelable à la demande, réduisant les allers-retours réseau et le risque d'injection SQL. GLOSSAIRE
View
Une vue est une définition de requête stockée (une table virtuelle) ne contenant pas de données, calculée dynamiquement au moment de la requête ; elle sert à simplifier les requêtes, isoler la sécurité et abstraire. GLOSSAIRE
Transaction
Une transaction est un groupe d'opérations exécutées comme une unité logique unique satisfaisant ACID — tout ou rien. GLOSSAIRE