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 

使其永久