Utilisation des déclencheurs
Mise à jour : novembre 2007
Un déclencheur est une procédure stockée particulière qui s'exécute lorsque vous modifiez des données dans une table déterminée en utilisant une ou plusieurs opérations de modification des données : UPDATE, INSERT ou DELETE. Des déclencheurs spéciaux, appelés déclencheurs INSTEAD OF peuvent spécifier des modifications aux tables de base sous-jacentes d'une vue.
Les déclencheurs peuvent interroger d'autres tables et inclure des instructions SQL complexes. Ils sont d'abord utiles pour appliquer des exigences ou des règles d'entreprise complexes. Vous pouvez, par exemple, déterminer si vous autorisez l'insertion d'une nouvelle commande en fonction de l'état en cours du compte d'un client.
Les déclencheurs sont aussi utiles pour appliquer l'intégrité référentielle qui préserve les relations définies entre des tables lorsque vous ajoutez, mettez à jour ou supprimez des lignes dans celles-ci. Toutefois, le moyen le plus efficace d'appliquer l'intégrité référentielle consiste à définir des contraintes de clé primaire et de clé étrangère dans les tables connexes. Si vous utilisez le Concepteur de tables, vous pouvez créer une relation entre des tables en vue de créer automatiquement une contrainte de clé étrangère. Pour plus d'informations, consultez Relations entre tables (Visual Database Tools).
Les déclencheurs ont plusieurs utilités :
Les déclencheurs sont automatiques. Ils s'activent immédiatement après toute modification des données de la table, qu'elle soit manuelle ou la conséquence d'une action de l'application.
Les déclencheurs peuvent répercuter les modifications dans les tables connexes de la base de données. Par exemple, vous pouvez écrire un déclencheur de suppression dans la colonne title_id de la table titles pour entraîner la suppression des lignes correspondantes dans les autres tables. Le déclencheur utilise la colonne title_id en tant que clé unique pour rechercher la ligne correspondante dans les tables titleauthor, sales et roysched.
Les déclencheurs peuvent appliquer des restrictions plus complexes que celles définies au moyen de Contraintes de validation (Visual Database Tools). Contrairement aux contraintes de validation, les déclencheurs peuvent référencer des colonnes d'autres tables. Un déclencheur peut, par exemple, restaurer des mises à jour qui tentent d'appliquer une remise (stockée dans la table discounts) à des livres (stockés dans la table titles) dont le prix est inférieur à 10 F.
Pour plus d'informations et des exemples de déclencheurs, consultez la documentation de votre serveur de base de données. Si vous utilisez Microsoft SQL Server, consultez « CREATE TRIGGER » dans la documentation en ligne de SQL Server.
Dans cette section
Comment : créer un déclencheur
Comment : enregistrer un déclencheur
Comment : ouvrir un déclencheur
Comment : supprimer un déclencheur
Comment : modifier des déclencheurs
Utilisation de déclencheurs INSTEAD OF dans des vues
Comment : afficher les propriétés d'un déclencheur