Instructions pour la planification des déclencheurs DML
Microsoft SQL Server 2005 offre deux options pour la création de déclencheurs DML :
- Les déclencheurs INSTEAD OF sont exécutés à la place de l'action de déclenchement habituelle. Ils peuvent également être définis sur une vue avec une ou plusieurs tables de base, afin d'étendre les types de mises à jour pouvant être prises en charge par la vue.
- Les déclencheurs AFTER sont exécutés après l'action associée à une instruction INSERT, UPDATE ou DELETE. Spécifier AFTER revient à spécifier FOR. Les déclencheurs AFTER peuvent être spécifiés uniquement sur des tables.
Le tableau suivant compare les fonctionnalités des déclencheurs AFTER et INSTEAD OF.
Fonction | Déclencheur AFTER | Déclencheur INSTEAD OF |
---|---|---|
Applicabilité |
Tables |
Tables et vues |
Quantité par table ou vue |
Plusieurs par action de déclenchement (UPDATE, DELETE et INSERT) |
Un par action de déclenchement (UPDATE, DELETE et INSERT) |
Références en cascade |
Aucune restriction |
Les déclencheurs INSTEAD OF UPDATE et DELETE ne sont pas autorisés sur des tables qui sont des cibles de contraintes d'intégrité référentielle en cascade. |
Exécution |
Après :
|
Avant :
Au lieu de :
Après :
|
Ordre d'exécution |
La première et la dernière exécution peuvent être spécifiées |
Non applicable |
Références de colonnes varchar(max), nvarchar(max) et varbinary(max) dans des tables inserted et deleted |
Autorisées |
Autorisées |
Références de colonnes text, ntext et image dans des tables inserted et deleted |
Non autorisées |
Autorisées |
Voir aussi
Concepts
Utilisation des tables inserted et deleted