udalit_stroki_tablicy_v_sql

Это старая версия документа!


Удаляем батчами по 100 000 строк чтобы не раздуть лог транзакций

USE Viatec_UT_mamch;

DECLARE @BatchSize INT = 100000;
DECLARE @Deleted   INT = 1;

WHILE @Deleted > 0
BEGIN
    DELETE TOP (@BatchSize)
    FROM _InfoRg29706
    WHERE _Fld29707 < DATEADD(MONTH, -3, GETDATE());

    SET @Deleted = @@ROWCOUNT;
    RAISERROR('Удалено строк: %d', 0, 1, @Deleted) WITH NOWAIT;
    WAITFOR DELAY '00:00:01'; -- пауза 1 сек между батчами
END;

PRINT 'Готово!';
  • /sites/data/attic/udalit_stroki_tablicy_v_sql.1777977314.txt.gz
  • Последнее изменение: 2026/05/05 10:35
  • tro