Найти экземпляр персонажа в базе данных - PullRequest
1 голос
/ 31 августа 2009

Есть ли относительно простой способ найти экземпляр персонажа, скажем "|" или "~" или "&" в базе данных?

Может быть в любом поле ... в любой таблице.

Всего в базе данных содержится от 400 до 500 таблиц.

Ответы [ 3 ]

1 голос
/ 31 августа 2009

Вы можете экспортировать базу данных в один большой сценарий SQL с помощью консоли управления SQL. Когда у вас есть текстовый файл, вы можете использовать notepad / grep / etc. чтобы найти персонажей, которых вы ищете.

1 голос
/ 01 сентября 2009

Этот код будет идентифицировать каждую таблицу и столбец varchar в вашей базе данных.Его можно использовать для генерации оператора выбора для каждой таблицы и столбца для поиска строк, в которых этот столбец содержит искомые символы.

select o.id, o.name, c.name, t.name, t.*
from sysobjects o
join syscolumns c on c.id = o.id
join systypes t on t.xtype = c.xtype
where o.xtype = 'U'
      and t.status = 0
      and t.name like '%varchar'
order by o.name, c.name

В зависимости от размера и индексации ваших таблиц это можетили не может быть хорошей идеей.

1 голос
/ 31 августа 2009

Самый простой способ - это массовый экспорт всех данных для всех таблиц, а затем поиск / grep для рассматриваемой строки.

http://msdn.microsoft.com/en-us/library/ms187042.aspx

...