如果条件在sql server更新查询
发布时间:2020-12-12 16:43:18 所属栏目:MsSql教程 来源:网络整理
导读:我有一个SQL服务器表,其中有2列,我想根据发送到存储过程的标志和新值更新其值,如下所示: UPDATE table_NameSET CASE WHEN @flag = '1' THEN column_A += @new_value WHEN @flag = '0' THEN column_B += @new_value END AS TotalWHERE ID = @ID 什么是正确的S
我有一个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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |