我有一个名为'Sales'的SQL表
我有字段
ShopID int
TotalSalesValue numeric(18.2)
内容
ShopID | TotalSalesValue
1 | 10.34
2 | 100
我有一个存储过程,我在其中传递ShopID和addistion销售。这样做是检查表中是否存在商店ID,如果不存在,则将其插入表中。如果它存在,我发出UPDATE命令。但是,它更新注释会替换现有值,我想要将它添加到现有的TotalSalesValue中,如果可以,则添加+ =。
任何人都可以建议一种方法来做到这一点。
提前致谢
答案 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
希望这可以帮助遇到此帖的其他人