【发布时间】:2012-03-01 19:52:09
【问题描述】:
我有一个包含 3 个字段 [ID、名称、LastUpdated] 的表。
LastUpdated 的默认值为“GetDate(),因此在添加新记录时它会自动填充。
当我改为在 TABLE 上运行 UPDATE 时,我希望将此字段自行重置为当前的 GetDate()。
CREATE TRIGGER dbo.Table1_Updated
ON dbo.Table1
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE dbo.Table1 SET LastUpdated = GETDATE()
END
GO
但是因为我没有 WHERE 子句,所以所有记录都会更新。
问题:
我在哪里可以获得更新触发器上更新记录的 ID 值?
如果我在 Trigger 内更新表的字段,是否会重新调用新的 Trigger 事件(等等)?
【问题讨论】: