Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新SSMS/T-SQL中的多列:_Sql_Sql Server_Sql Server 2008_Tsql_Sql Update - Fatal编程技术网

更新SSMS/T-SQL中的多列:

更新SSMS/T-SQL中的多列:,sql,sql-server,sql-server-2008,tsql,sql-update,Sql,Sql Server,Sql Server 2008,Tsql,Sql Update,我有下面的场景 UPDATE ATable SET C1 = 'XValue' WHERE C2 = 'YValue' UPDATE ATable SET C3 = 'MValue' WHERE C4 = 'NValue' 对于性能调整,我能做些什么使它们在一次更新下运行吗?这样会更好吗 谢谢您可以使用案例运行一次更新 UPDATE Atable SET C1 = CASE WHEN c2 = 'yValue' THEN 'xValue' ELSE c1 END,

我有下面的场景

 UPDATE ATable
SET C1 = 'XValue'
WHERE C2 = 'YValue'

UPDATE ATable
SET C3 = 'MValue'
WHERE C4 = 'NValue'
对于性能调整,我能做些什么使它们在一次更新下运行吗?这样会更好吗


谢谢

您可以使用
案例运行一次更新

UPDATE  Atable
SET     C1 = CASE WHEN c2 = 'yValue' THEN 'xValue' ELSE c1 END,
        C3 = CASE WHEN c4 = 'nvalue' THEN 'mValue' ELSE c3 END
WHERE   c2 = 'yValue' OR c4 = 'nvalue'

@AndriyM是的,有
WHERE
子句。这是OP的问题,不是我的。@njk你为什么这么认为?@KennethFisher还取决于索引。取决于可用的索引。如果对
c2
c4
进行索引,则可以用完整扫描替换2次搜索。