Partager via


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

Référence

Référence (Visual Database Tools)