2013-02-19 62 views
0

我有以下情形。在SSMS/T-SQL中更新多個列:

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

UPDATE ATable 
SET C3 = 'MValue' 
WHERE C4 = 'NValue' 

對於性能調整,我可以做任何事情讓它們在一個UPDATE下運行嗎?它會更好嗎?

謝謝

回答

2

可以使用CASE

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' 
+0

*運行一個更新「會不會更好?」 * – 2013-02-19 14:38:40

+0

@AndriyM是,用'WHERE'條款。 – 2013-02-19 14:39:15

+0

這是OP的問題,不是我的。 – 2013-02-19 14:40:03