【发布时间】:2011-07-22 03:18:10
【问题描述】:
每当我更改行时,我都会更新一些列并增加一个计数器。
更新语句是连接的结果(下面的简化代码):
update @to
set
t.num += 1
from @to t
join @source s
on t.id = s.id
当我不止一次更新一行时,列会保存最后一个值(应该如此),但计数器只增加一次。因此,如果连接返回 (id = 1, id = 1),我的表将保存 (id = 1, num = 1) 而不是 (id = 1, num = 2)。
有一些方法可以解决这个问题(例如,另一个加入选择计数),但我想知道是否有办法让它保持简单。
【问题讨论】:
标签: sql sql-server sql-server-2008 sql-update