每当在sql server中的该行发生更新时自动递增列值

时间:2013-01-24 04:34:33

标签: sql triggers

我想维护一个列,该列将存储修改行的次数。 因此,每当更新行时,我想增加列值。 我想我必须使用触发器。但我正在寻找替代解决方案。

2 个答案:

答案 0 :(得分:4)

恕我直言的触发器是可行的方法,但如果你确定你控制了所有的更新,那么你可以这么简单:

UPDATE mytable 
   SET somefield='newvalue', 
       update_count = update_count+1 
   WHERE id=n

答案 1 :(得分:1)

CREATE TRIGGER CountRows 
    ON TestCount 
    after Update
AS 
Update TestCount  set Cnt = Cnt +1 where ID in (select ID from inserted)
GO

当一行中的某个值发生变化时,grigger会将+1添加到同一行的Cnt列值。