前端之家收集整理的这篇文章主要介绍了
如果条件在sql server更新查询,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个
sql服务器表,其中有2列,我想根据发送到存储过程的标志和新值更新其值,如下所示:
UPDATE
table_Name
SET
CASE
WHEN @flag = '1' THEN column_A += @new_value
WHEN @flag = '0' THEN column_B += @new_value
END AS Total
WHERE
ID = @ID
什么是正确的sql服务器代码呢?
目前的答案是正确的,应该可以正常工作,但是更简单,更明显,更可维护的是什么问题:
IF @flag = 1
UPDATE table_name SET column_A = column_A + @new_value WHERE ID = @ID;
ELSE
UPDATE table_name SET column_B = column_B + @new_value WHERE ID = @ID;
这很容易阅读,虽然这是一个非常简单的查询.
这是一个工作示例,由@snyder提供:SqlFiddle.
原文链接:https://www.f2er.com/mssql/81554.html