我使用的是SQL Server 2008 R2。
我有两个表,ShoppingList
和ShoppingListFood
。 ShoppingListFood
通过ShoppingList
上的外键与ShopListID
相关联。我希望在LastModifiedDate
表中完成任何更新/插入时更新ShoppingList
表中的ShoppingListFood
列。有可能??
我用谷歌搜索,发现我需要在存储过程中创建触发器,但我对此一无所知,有人可以帮忙吗?
答案 0 :(得分:4)
当然 - 没问题 - 试试这样的事情:
CREATE TRIGGER trg_UpdateShoppingListFood
ON dbo.ShoppingListFood
AFTER INSERT, UPDATE
AS
UPDATE dbo.ShoppingList
SET LastModifiedDate = GETDATE()
WHERE ShopListID IN (SELECT DISTINCT ShopListID FROM Inserted)
基本上,这会在ShoppingListFood
上的INSERT和UPDATE之后创建一个触发器 - 它会为已插入和/或更新的所有行更新LastModifiedDate
到“现在”在触发器内可用的伪表Inserted
上。
此伪表包含刚刚插入的所有行(及其所有列),以及已更新的所有行的新值(再次:所有列)。