Действительно быстрая очистка всей регистрации изменений

0. comol 4833 16.01.16 20:02 Сейчас в теме
Если вы хоть раз сталкивались с проблемой накопленных изменений при обмене, то данная статья может оказаться полезной

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 441 25.01.16 13:42 Сейчас в теме
2. DrAku1a 1590 28.01.16 02:27 Сейчас в теме
Вы открыли для себя TRUNCATE?
А вообще плюс - за универсальную процедуру.
3. comol 4833 28.01.16 18:13 Сейчас в теме
(2) DrAku1a, Нее... я открыл для себя процедуру поиска таблицы по части названия... :)
4. teller 29.01.16 07:47 Сейчас в теме
P.S. Всё выше описанное, конечно, приведено только в ознакомительных целях и никогда мной не делалось :)
P.P.S. Автор не несёт никакой ответственности за любой ущерб вашей БД, который могут повлечь за собой эти действия.

+100500
Antonov.AV; +1 Ответить
5. logarifm 1110 30.01.16 02:00 Сейчас в теме
Не забываем, что этим мы нарушаем лицензионное соглашение 1С.
6. sitec 4 20.02.16 09:21 Сейчас в теме
+1 За поиск таблиц по части имени
7. Makushimo 160 23.09.16 08:29 Сейчас в теме
Особенно понравилось, "сам так не делал, но вы будьте осторожны" ))))
Красавчег.
Дал ребенку заряженный пистолет и довольный ходит.
8. корум 285 23.09.16 09:55 Сейчас в теме
(7) Makushimo, табличка *сарказм* в руках автора обязательна, ага
9. user611061_igor_panshin 12.09.19 11:18 Сейчас в теме
Одна бравада. DECLARE @sql AS varchar(max) имеет ограничения по длине, поэтому "все таблицы регистрации будут очищены. " - это ошибка.
10. comol 4833 16.09.19 01:11 Сейчас в теме
(9)
Одна бравада
ну и зачем оскорбления?!
это ошибка.
и в чём нашли ошибку?! В типовой рознице varchar(max) вполне хватает для скрипта очистки всех таблиц и успешно использовалось на практике.

Код вполне себе открыт - если очищаете ERP разбейте на несколько кусочков. Зачем писать гневные коменты.... вот люди
11. user611061_igor_panshin 16.09.19 09:29 Сейчас в теме
declare @nm varchar(1000)
DECLARE cur CURSOR FOR
sel ect
distinct
name
fr om
sysobjects
wh ere xtype='U'
and name like '%Chng%'
order by
name

--Откроем курсор
OPEN cur

--Выборка данных первой строки
FETCH NEXT FROM cur INTO @nm

--Пока есть данные в курсоре - выборка циклом
WHILE @@FETCH_STATUS = 0
BEGIN
print 'truncate table ['+@nm+']' + CHAR(13) + CHAR(10)
--Выборка следующей строки
FETCH NEXT FR OM cur INTO @nm
END

--Закрываем курсор
CLOSE cur
--Уничтожаем курсор
DEALLOCATE cur
12. comol 4833 16.09.19 20:49 Сейчас в теме
(11) это что, вы открыли для себя курсоры? :)). Следующим этапом будут временные таблицы :). Ну если не хватает длинны строчки меняйте просто на выполнение запроса сразу. Truncate работает мгновенно, выполнением единым пакетом экономите секунд 5 :))).
Оставьте свое сообщение
Вакансии
Функциональный архитектор
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 250 000 руб. до 300 000 руб.
Полный день

Консультант 1С
Москва
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Аналитик 1C
Москва
зарплата от 120 000 руб. до 250 000 руб.
Полный день

Начальник отдела программирования
Уфа
зарплата от 125 000 руб.
Полный день