В SQL Server, сколько транзакций это произведет?
DECLARE @deleted BIGINT
SET @deleted = 100000
WHILE @deleted = 100000
BEGIN
DELETE TOP(100000) FROM MYTABLE WITH (ROWLOCK)
where Col1 = 7048 and COL2 = 39727 and Col3 = 0
SET @deleted = (SELECT @@ROWCOUNT)
END
Если я откажусь после 10 минут работы, потребуется ли откат?
Исправит ли добавление существующей транзакции и завершение транзакции, если я не хочу, чтобы откат проходил одну итерацию после отмены?
Будет ли какая-то разница, если я положу это в хранимую процедуру?