ms sql Найти и заменить во всех таблицах

1. user-z99999 78 27.07.22 14:48 Сейчас в теме
ms sql Найти и заменить во всех таблицах.

Нужна процедура на ms sql, чтобы по базе искать и заменять что-то.
Например, найти "абв" и наменить на "агд" по всей базе, во всех таблицах.

Собираюсь использовать для поиска и замены дублей контрагентов по трём полям:
ИНН
КПП
Наименование

БСП конфигурации 3.0.1.206

Дублей много, типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. RustamZz 27.07.22 15:20 Сейчас в теме
(1) Код из (3) вызвать через
sp_MSforeachtable

P.S. Но не советую менять таким способом.
13. dehro 12 28.07.22 05:35 Сейчас в теме
(1)
...типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.


Раздели на части. Например, Добавь условие отбора. Тогда проходов будет 3-4, но обработка доработает, не умрёт.
ikochetkov; +1 Ответить
2. soft_wind 27.07.22 14:54 Сейчас в теме
замена дублей это одно,
а это ваше "замена везде абв на агд"

совсем другое!

а для замены дублей используйте не типовую!
ikochetkov; +1 Ответить
3. DENSKR 16 27.07.22 15:03 Сейчас в теме
SQL
UPD ATE Имя таблицы
SE T Имя поля = (Берем в учет, что ИНН как реквизит в 1С может называться по разному)
REPLACE(Имя поля, 'строка для замены', 'чем заменяем');

Только вопрос в групповом изменении объектов, а не в поиске и удалении дублей.
Такой способ как изменение данных на уровне СУБД я бы рекомендовал все же использовать в последнюю очередь...
Вот сама обработка с оф итс: Ссылка
7. Begemot39 41 27.07.22 15:40 Сейчас в теме
SQL....

без отбора пойдёт искать подстроку по всем строкам всех таблиц - не оптимизировано)

по хорошему - написать обработку для самой 1С, запрос на поиск дублей контрагентов по ИНН/КПП что-то вроде:

ВЫБРАТЬ
Контрагент.ИНН КАК ИНН,
Контрагент.КПП КАК КПП,
КОЛИЧЕСТВО(Контрагент.Ссылка) КАК КоличествоДублей
ИЗ
Справочник.Контрагенты КАК Контрагент
СГРУППИРОВАТЬ ПО
Контрагент.ИНН,
Контрагент.КПП
ИМЕЮЩИЕ КОЛИЧЕСТВО(Контрагент.Ссылка) > 1
Показать


получишь общий список дублей, затем его переборка - получаешь ссылки на всех дублёров, выбираешь 1 за основу, затем
https://forum.infostart.ru/forum9/topic72499/
для всех остальных.
в цикле перебрать где используются и заменить на ранее выбранную ссылку.

вариант?
5. VZyryanov 27.07.22 15:36 Сейчас в теме
В каких это всех таблицах? ИНН, КПП есть в одной таблице "Контрагенты". В других таблицах есть ссылка на эту таблицу.
collider; +1 Ответить
9. Begemot39 41 27.07.22 16:14 Сейчас в теме
(5)
ну... Контрагенты? - да.
а ещё:
- КлассификаторОрганизацийЕГАИС
- Организации
- ХозяйствующиеСубъектыВетИС

это только по справочникам, есть ещё и РегистрыСведений, у которых ИНН/КПП - собственный реквизит
6. XAKEP 27.07.22 15:39 Сейчас в теме
кандидат на вазелин :)
collider; +1 Ответить
8. user1203706 15 27.07.22 16:00 Сейчас в теме
(1) зачем ? Ну т.е вы кладёте болт на все взаиморасчеты и т.д. своей заменой ?

Если очень ннадо, то через ИР заменяй, там можно выбрать правильные и неправильные элемены или автоматом, или по условию, или ручонками указать. + менять всё или по отдельности нужное.
10. XAKEP 27.07.22 17:59 Сейчас в теме
Дублей много, типовая обработка Поиск и удаление дублей - умирает т.к. дублей более 1500 шт.


или у вас не понимают вообще, что такое связи в базе данных
или я не понимаю,

от кого такое желание и кто такое решится сделать (!)

---------
дешевле и безболезненно создать новую базу с переносом нужных данных
11. user-z99999 78 27.07.22 18:25 Сейчас в теме +0.2 $m
(10)
дубли возникли в результате ошибки Конвертации данных.

База большая, работают круглосуточно.
12. XAKEP 27.07.22 19:20 Сейчас в теме
(11)
дубли возникли в результате ошибки Конвертации данных.

База большая, работают круглосуточно.


тогда понятно

-
Нужна процедура на ms sql, чтобы по базе искать и заменять что-то.

при таком подходе и понимании - вы еще больше дров наломаете

и если при положении дубли возникли в результате ошибки Конвертации данных
База большая, работают круглосуточно. --
-- удивляюсь, что она еще работает

пусть босс(ы) заплатят деньги и требуют результат,
а не голыми руками за тарелку супа разгребать ошибки
karamazoff; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот