ms sql Найти и заменить во всех таблицах
ms sql Найти и заменить во всех таблицах.
Нужна процедура на ms sql, чтобы по базе искать и заменять что-то.
Например, найти "абв" и наменить на "агд" по всей базе, во всех таблицах.
Собираюсь использовать для поиска и замены дублей контрагентов по трём полям:
ИНН
КПП
Наименование
БСП конфигурации 3.0.1.206
Дублей много, типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.
Нужна процедура на ms sql, чтобы по базе искать и заменять что-то.
Например, найти "абв" и наменить на "агд" по всей базе, во всех таблицах.
Собираюсь использовать для поиска и замены дублей контрагентов по трём полям:
ИНН
КПП
Наименование
БСП конфигурации 3.0.1.206
Дублей много, типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
SQL
UPD ATE Имя таблицы
SE T Имя поля = (Берем в учет, что ИНН как реквизит в 1С может называться по разному)
REPLACE(Имя поля, 'строка для замены', 'чем заменяем');
Только вопрос в групповом изменении объектов, а не в поиске и удалении дублей.
Такой способ как изменение данных на уровне СУБД я бы рекомендовал все же использовать в последнюю очередь...
Вот сама обработка с оф итс:
SQL....
без отбора пойдёт искать подстроку по всем строкам всех таблиц - не оптимизировано)
по хорошему - написать обработку для самой 1С, запрос на поиск дублей контрагентов по ИНН/КПП что-то вроде:
получишь общий список дублей, затем его переборка - получаешь ссылки на всех дублёров, выбираешь 1 за основу, затем
https://forum.infostart.ru/forum9/topic72499/
для всех остальных.
в цикле перебрать где используются и заменить на ранее выбранную ссылку.
вариант?
без отбора пойдёт искать подстроку по всем строкам всех таблиц - не оптимизировано)
по хорошему - написать обработку для самой 1С, запрос на поиск дублей контрагентов по ИНН/КПП что-то вроде:
ВЫБРАТЬ
Контрагент.ИНН КАК ИНН,
Контрагент.КПП КАК КПП,
КОЛИЧЕСТВО(Контрагент.Ссылка) КАК КоличествоДублей
ИЗ
Справочник.Контрагенты КАК Контрагент
СГРУППИРОВАТЬ ПО
Контрагент.ИНН,
Контрагент.КПП
ИМЕЮЩИЕ КОЛИЧЕСТВО(Контрагент.Ссылка) > 1
Показатьполучишь общий список дублей, затем его переборка - получаешь ссылки на всех дублёров, выбираешь 1 за основу, затем
для всех остальных.
в цикле перебрать где используются и заменить на ранее выбранную ссылку.
вариант?
(1) зачем ? Ну т.е вы кладёте болт на все взаиморасчеты и т.д. своей заменой ?
Если очень ннадо, то через ИР заменяй, там можно выбрать правильные и неправильные элемены или автоматом, или по условию, или ручонками указать. + менять всё или по отдельности нужное.
Если очень ннадо, то через ИР заменяй, там можно выбрать правильные и неправильные элемены или автоматом, или по условию, или ручонками указать. + менять всё или по отдельности нужное.
Дублей много, типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.
или у вас не понимают вообще, что такое связи в базе данных
или я не понимаю,
от кого такое желание и кто такое решится сделать (!)
---------
дешевле и безболезненно создать новую базу с переносом нужных данных
(11)
тогда понятно
-
при таком подходе и понимании - вы еще больше дров наломаете
и если при положении дубли возникли в результате ошибки Конвертации данных
База большая, работают круглосуточно. ---- удивляюсь, что она еще работает
пусть босс(ы) заплатят деньги и требуют результат,
а не голыми руками за тарелку супа разгребать ошибки
дубли возникли в результате ошибки Конвертации данных.
База большая, работают круглосуточно.
База большая, работают круглосуточно.
тогда понятно
-
Нужна процедура на ms sql, чтобы по базе искать и заменять что-то.
при таком подходе и понимании - вы еще больше дров наломаете
и если при положении дубли возникли в результате ошибки Конвертации данных
База большая, работают круглосуточно. ---- удивляюсь, что она еще работает
пусть босс(ы) заплатят деньги и требуют результат,
а не голыми руками за тарелку супа разгребать ошибки
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот