日期:2014-05-17  浏览次数:20612 次

更新语句。高手进!!
我需要更新一张表的数据,设表player 五个字段 A.B,C,D,E需求如下:
1.如果A,B,C,D,E都无更新,则不更新此记录
2.如果某记录只更新A了,则只更新A字段,以此类推,没更新的字段不需要更新。

。。。。。。。。。。
  大神们,,菜神跪求用一句 SQL 语句怎么写这个需求。????
------最佳解决方案--------------------
是不是这个意思?

declare @A int,@B int,@C int,@D int,@E int

update tablename
set A=isnull(@A,A),B=isnull(@B,B),C=isnull(@C,C),
D=isnull(@D,D),E=isnull(@E,E)

------其他解决方案--------------------
触发器
------其他解决方案--------------------
表示真心还木有理解透楼主的需求。 
求原始数据及结果数据
------其他解决方案--------------------
原始数据都为 0,  现在是如果这些被改变了 要重置为0, LSS的那位大婶是写游标么?、不太会用,求SQL语句 
------其他解决方案--------------------
大婶  游标
------其他解决方案--------------------
没明白啥意思?
------其他解决方案--------------------
不明白楼主的意思
------其他解决方案--------------------
没明白楼主想要一个什么样的效果。更新语句本身就可以不影响其它字段了

要不楼主给些测试数据,以及想达到的效果
------其他解决方案--------------------
比如表的 A ,B,C,D,E字段的初始值都为 0,在一天内,记录的有些字段值 会改变一些,我要做就是把这些改变的字段值重置为0。现在需要动态更新数据库记录,A字段更新那只重置记录的A字段,以此类推,可能表的所有字段都会发生改变!,那就重置所有字段值。。。我的意思是,只更新记录的某些被改变的字段 ,,而不要有字段更新就重置记录所有的字段。。就这点不知道怎么写。~我说清楚了吗??
------其他解决方案--------------------
这样做有什么意义,不如有更新的就全部重置。性能更高 ...
------其他解决方案--------------------
有更新就全部重置 如何性能更高。, 有更新我只重置这个更新字段,不是性能更高么?
------其他解决方案--------------------
引用:
大婶  游标


嘛果。敢不敢给说说
------其他解决方案--------------------
触发器写喽,为什么不前台处理呢