Как я могу создать цикл для оператора UPDATE, который работает до тех пор, пока не останется строки для обновления?

Предположим, мне нужно обновить тысячи строк.

И я планирую делать обновление итеративно; обновляя только 1000 строк за итерацию.

И я хочу повторять, пока не закончатся строки для обновления.

Как я могу запустить приведенный ниже сценарий T-SQL, пока не останется строки для обновления?

-- TODO: Create a loop so that it exists when there is no ROW left to be updated; 
-- how can I do it?

UPDATE tableToUpdate
SET IsVegetable = 1
WHERE Id IN
               (SELECT TOP 1000 Id
                FROM tableToUpdate
                WHERE Date = '2011-07-23 14:00')

-- Loop ends
5
задан marc_s 29 December 2011 в 09:30
поделиться