SQL Update用于递增现有字段

时间:2015-01-22 10:02:07

标签: sql sql-update

我有一个名为'Sales'的SQL表

我有字段

ShopID int 
TotalSalesValue numeric(18.2)

内容

ShopID | TotalSalesValue
 1     | 10.34
 2     | 100

我有一个存储过程,我在其中传递ShopID和addistion销售。这样做是检查表中是否存在商店ID,如果不存在,则将其插入表中。如果它存在,我发出UPDATE命令。但是,它更新注释会替换现有值,我想要将它添加到现有的TotalSalesValue中,如果可以,则添加+ =。

任何人都可以建议一种方法来做到这一点。

提前致谢

3 个答案:

答案 0 :(得分:0)

您只是说如何添加现有价值?这类似于它在许多语言中的完成方式:

UPDATE Sales
    TotalSalesValue = TotalSalesValue + @AdditionalValue
WHERE 
    ShopID = @ShopID

答案 1 :(得分:0)

使用“而不是”触发器 - 根据表shopID检查插入的ShopID,然后创建一个变量,例如@TotalSales将填充旧值和新值,例如

Set @TotalSales = (select TotalSalesValue + i.TotalSalesValue 
from table t join inserted i on t.ShopID = i.ShopID)

然后使用新值(例如

)对表执行更新
Update table
Set TotalSalesValue = @TotalSales
Where ShopID = (select ShopID from inserted)

答案 2 :(得分:0)

确定,

愚蠢的我,我找到了答案

[TotalSalesValue] = [TotalSalesValue] + @PassedinValue

希望这可以帮助遇到此帖的其他人