【发布时间】:2016-09-22 19:55:25
【问题描述】:
我在数据库中有一个触发器。
CREATE TRIGGER trigg_varer_ledit_iu
ON items
FOR INSERT, UPDATE
AS
BEGIN
UPDATE items
SET lastedit = GETDATE()
WHERE itemnr IN (SELECT
itemnr
FROM inserted)
END;
效果很好。每次我更新并向项目插入新数据时,“lastEdit”字段都会更新。
但是:我在该表中有一些不应该触发更新这个 lastEdit 字段的特殊字段。我怎样才能做到这一点?
现在它适用于每个更新的字段。我需要让他们中的一些人远离马戏团。
【问题讨论】:
-
我认为您可以在触发器本身中使用逻辑来检查所述列是否正在更新,然后在不进行任何处理的情况下返回
-
有什么例子吗?
-
您可以使用
update(colname)函数检查单列或使用columns_updated()检查多列。
标签: sql-server database triggers