2009-06-10 42 views

回答

8

是的。更新操作只會發生在匹配WHERE子句的錶行上。

認爲這是因爲WHERE子句選擇行後面跟着更新這些選定行的SET子句。

4

只是要清楚,你只需要做

UPDATE [MyTable] 
SET [SomeField] = 1 
WHERE [SomeField] is NULL 

的where子句僅用於減少更新應用到的範圍。

這聽起來像是你從開發背景中進入SQL,所以你可能會發現有用的一條建議是在一個事務中嘗試你的操作。這樣你就可以撤銷你所犯的任何錯誤並改進你正在處理的sql。

要利用此運行

BEGIN TRAN 

你執行你要測試的命令之前,然後

​​

撤消,或

COMMIT TRAN 

使其永久