Поиск слов в таблицах SQL Server - PullRequest
0 голосов
/ 06 ноября 2019

Как искать слово во всех таблицах. Для вывода всех таблиц, где доступно это слово.

Я использую IDEA для запросов.

Проблема в том, что существует более 300 + таблиц. Нужно найти таблицы, в которых присутствует это слово.

Например, есть таблица телефонных номеров и столбец номеров в ней, мне нужно найти значение из столбца номеров, например строки3045636

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Вот подход, который я предлагаю:

  1. Считать все имена таблиц из базы данных
  2. Считать все имена столбцов по отдельным таблицам
  3. Искать слово в каждомтаблица каждого столбца
#Table Names
select table_name
from information_schema.tables
where table_type = 'base table' and table_catalog='dbname'

#Column Names
select column_name 
from information_schema.columns 
where table_name like 'table name'

#Word Search
select count(*) from table_name where column_name1 like 'searchWord' or column_name2 like 'searchWord'

Все эти вещи, которые вы должны интегрировать внутри процедуры, так что в конечном итоге, если count (*)> 1, эта таблица содержит определенное слово.

0 голосов
/ 06 ноября 2019

Решение 1 Вы можете написать динамический запрос и использовать цикл.

В первом цикле получите все таблицы, загрузите все столбцы с типом данных строки и скомпонуйте запрос выбора, найдите значение и сохраните вывод в виде промежуточной таблицы. .

Решение 2 Вы можете использовать скрипт Power Shell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...