Я проверяю скрипт разработчика, чтобы удалить все данные из большой таблицы, которая старше указанной даты.
SET @R = 1;
WHILE @R > 0
BEGIN
----Begin Transaction
DELETE TOP (100000) FROM
TBL_MYTABLE
WHERE dateCreated < @DELETEDATE;
----Commit Transaction;
SET @R = @@ROWCOUNT;
END;
Одна вещь, которая мне показалась, заключается в том, что он проверяет значение @@ ROWCOUNT, ничего не делая с переменной @R. Этот оператор автоматически фиксирует транзакцию? Или весь цикл WHILE должен завершиться первым?
РЕДАКТИРОВАТЬ: В качестве дополнительного вопроса, как я могу определить, является ли каждая итерация цикла совершается, или он ждет до конца?