SQL Server 2005更新查询未正确递增

时间:2013-07-30 15:35:23

标签: sql-server-2005

我有一个表,我需要将值增加-1。而不是递增发生,我在所有更新的列中得到-1。任何帮助表示赞赏。

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff - 1
WHERE rptpddiff =0 and UCI= 'BPA'

2 个答案:

答案 0 :(得分:3)

你确保所有的rptpddiff都是0,然后将它们减少1.看起来你想要对你所有的rptpddiff执行它,除非你期望它们全部为-1。 (这是你怎么做-1,-2,-3,-4)

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff - 1
WHERE UCI= 'BPA'

除非你希望它们停在0或者什么东西,否则只需更改你的逻辑即可。

要增加,只需将逻辑更改为,当然您可能想要了解有关正在更新的实体的信息,除非UCI是其主键或其他内容。

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff + 1
WHERE UCI= 'BPA'

答案 1 :(得分:0)

您在更新语句中将rptpddiff设置为-1,其初始值为0。