Déclencheur qui insère des données dans une nouvelle table lorsqu'une autre table est mise à jour
J'ai créé une modification de la table de l'Ordre, et de ne pas insérer de données. Ce tableau est censé avoir une inscription faite à chaque fois que quelqu'un met à jour le tableau de commande. J'ai créé un déclencheur qui a déclaré que si vous mettez à jour une ligne dans le tableau de Commande, il déclenche une entrée dans l'Ordre Modifié de la table. Il fonctionne bien, le seul problème est que je ne sais pas comment faire pour obtenir l'ID de la Commande qui a été mis à jour pour être entré dans l'Ordre modifié table.
Ordre Modifié Code De La Table:
Create Table Modified_Order (
Modified_Order_Number Int Identity (1,1),
Modified_Order_Date Date,
Order_ID Int,
Foreign Key (Order_ID) references Orders (Order_ID)
);
Déclenchement De Code:
Create Trigger Modified_Order_Trigger
On Orders After Update
AS
Insert Into Modified_Order Values (getdate(), )
;
La question que je vais avoir est d'obtenir l'ID de la commande qui a été mis à jour pour afficher dans l'Ordre Modifié de la table. Je sais qu'il vient à la place qui est laissée vide après getdate(). Je sais qu'il a quelque chose à voir avec l'ajout d'une instruction select, je ne sais pas quoi mettre après l'instruction where de sorte qu'il sait pour sélectionner l'ID de la commande pour quelle que soit la Commande a été mis à jour dans le tableau de commande.
Create Trigger Modified_Order_Trigger
On Orders After Update
AS
Insert Into Modified_Order Values (getdate(), (Select Order_ID
from Order
where )
;
Grâce
Vous devez vous connecter pour publier un commentaire.
Dans un Déclencheur, INSERTED et DELETED tables virtuelles ont les données provenant des deux états: a INSÉRÉ la nouvelle via INSÉRER ou de mettre à JOUR, et a SUPPRIMÉ ancienne via la mise à JOUR ou de les SUPPRIMER. Donc la syntaxe est fondamentalement:
Pour plus d'informations sur les Déclencheurs, regardez ici: http://technet.microsoft.com/en-us/library/ms189799.aspx