Déclencheurs DML dans l'exemple de base de données AdventureWorks
Mis à jour : 14 avril 2006
Cette rubrique décrit plusieurs exemples de déclencheurs DML qui sont compris dans l'exemple de base de données AdventureWorks. Ces déclencheurs DML ont été conçus pour appliquer la logique d'entreprise de Adventure Works Cycles et pour permettre la protection de l'intégrité de ses données.
Pour afficher le texte de chaque déclencheur dans SQL Server Management Studio
- Dans l'Explorateur d'objets, recherchez la table sur laquelle le déclencheur est défini, puis développez le dossier Déclencheurs.
- Cliquez avec le bouton droit sur le déclencheur de votre choix, puis cliquez sur Générer un script du déclencheur en tant que.
Définition d'un champ après une mise à jour
déclencheur DML uSalesOrderHeader
La table Sales.SalesOrderHeader
contient la colonne RevisionNumber
qui indique le nombre de mises à jour d'une ligne spécifique, à l'exclusion du champ Status
. Après une mise à jour, le déclencheur DML uSalesOrderHeader
incrémente le champ RevisionNumber
d'une unité ou lui attribue la valeur 1 s'il a pour valeur NULL.
Le déclencheur DML uPurchaseOrderHeader exécute sur la table Purchasing.PurchaseOrderHeader la même action que le déclencheur DML uSalesOrderHeader sur la table Sales.SalesOrderHeader.
Remplissage d'une table après une insertion, puis définition d'un champ dans une autre table
Déclencheurs DML iPurchaseOrderDetail et uPurchaseOrderHeader
Lorsque des données sont insérées dans la table PurchaseOrderDetail
, le déclencheur DML iPurchaseOrderDetail
insère une partie d'entre elles dans la table Production.TransactionHistory
. Étant donné que plusieurs articles dans PurchaseOrderDetail
composent un bon de commande dans la table PurchaseOrderHeader
, le champ Subtotal
de PurchaseOrderHeader
doit être mis à jour lorsqu'une insertion se produit dans PurchaseOrderDetail
. Le déclencheur iPurchaseOrderDetail
agrège le champ LineTotal
de PurchaseOrderDetail
pour une commande spécifique, puis définit le champ Subtotal
de PurchaseOrderHeader
avec cette agrégation.
Lorsque le déclencheur DML effectue une mise à jour sur Purchasing.PurchaseOrderHeader
, cette action déclenche le déclencheur de mise à jour uPurchaseOrderHeader
qui existe sur la table Purchasing.PurchaseOrderHeader
. Pour plus d'informations sur les déclencheurs qui déclenchent d'autres déclencheurs, consultez Déclencheurs imbriqués.
Le déclencheur DML uPurchaseOrderDetail exécute sur les tables TransactionHistory et PurchaseOrderHeader les mêmes actions que iPurchaseOrderDetail mais il les effectue lorsque la table PurchaseOrderDetail est mise à jour, pas lorsqu'elle reçoit une insertion.
Les déclencheurs DML iWorkOrder et uWorkOrder de la table Production.WorkOrder insèrent des données uniquement dans la table TransactionHistory.
Voir aussi
Concepts
Présentation des déclencheurs DML
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
14 avril 2006 |
|