admin

更新触发(不包括某些字段更改)

sql

我已经这样定义了触发器:

CREATE TRIGGER [dbo].[trtablename]
    ON [dbo].[tablename]
    AFTER UPDATE
    AS update tablename set row_version = row_version + 1 
       where id in (select id from inserted)

有一个名为的字段Row_Status。应该修改它而不增加row_version字段。我如何在触发器中做出这样的条件?


阅读 189

收藏
2021-07-01

共1个答案

admin

您需要基于可在触发器中调用的UPDATE()函数添加条件。

就像是:

CREATE TRIGGER [dbo].[trtablename] ON [dbo].[tablename]
AFTER UPDATE
AS

If not update(Row_Status)
begin

  update tablename set row_version = row_version + 1 
  where id in (select id from inserted)

end

根据表/列以及UPDATE可能发生的可能的操作,您可能必须增加检查的复杂性,但是希望这可以为您指明正确的方向。

2021-07-01