试试这个循环
while 1 = 1
BEGIN
UPDATE top (1000) tableToUpdate
SET IsVegetable = 1
WHERE
Date = '2011-07-23 14:00'
AND IsNull(IsVegetable, 0) = 0
if @@ROWCOUNT < 1000 BREAK
END
为什么 -因为它是不明确-如果字段IsVegetable为空或没有,如果没有-那么 不需要
如果没有行,则IsVegetable <> 1-循环将退出,因为@@ ROWCOUNT将等于0或<1000(对于最后一次迭代)