在SQL Server 2008中,如果表中的字段的值与update语句中的值不同,如何更新表中的字段?
例如:
我的TableA包含FirstName列,其值为'Roger Moore',唯一ID为'007'。 现在,我正在调用一个更新语句,但只有当值是“Roger Moore”以外的其他值时,它才应更新'FirstName'字段。
TIA
答案 0 :(得分:7)
update TableA
set FirstName = 'Roger Moore'
where ID = '007'
and FirstName <> 'Roger Moore'
答案 1 :(得分:1)
通常不值得检查字段的更改
http://blogs.msdn.com/queryoptteam/archive/2006/07/07/659453.aspx
有条件地进行更新可能会带来锁定优势。
但是,如果你坚持这样做,你也可以用“而不是触发器”来比较每个插入的和当前的值来查看“在后台”这样做。
答案 2 :(得分:0)
你在谈论像这样的UPDATE语句吗?
UPDATE TableA
SET FirstName = 'New Name'
WHERE FirstName <> 'Roger Moore'
这没有考虑到您的唯一ID,但我认为这正是您所寻找的。 p>