![]() |
/SQL/ Поиск значения в ячейках всех таблиц базы данных Oracle
Добрый день!
Можно ли на SQL написать запрос к базе данных Oracle, который бы выполнил поиск строкового значения по ячейкам всех имеющихся таблиц и вывел в качестве результата список имён этих таблиц (в которых присутствует искомое значение) ? Может у кого есть подобный уже готовый примерчик? Или есть стандартные средства реализующие подобный функционал? Заранее спасибо :) |
Любопытно, с какой целью такое потребовалось.
Я думаю, что стандартных средств в СУБД для решения такой задачи не существует. Полнотекстовый поиск - это задача несколько иная, чем управление БД. Зато есть поисковые движки типа Thinking Sphinx. Посмотри вот тут: http://sphinxsearch.com/ |
EvgeniyQQQ, встроенными путями такое сделать не получится. Необходимо минимум 2 цикла - первый берет список таблиц из указанной базы, второй - список полей в таблице . Ну и далее уже в циклах - выборка.
|
noname00.pas, есть у нас PLM-система, она использует СУБД Oracle. Я проводил эксперименты с помощью внешнего приложения, вносил и удалял некоторую информацию... это приложение обращается к базе не напрямую, а через саму PLM. Так вот, я удалил идентификатор одного объекта PLM с помощью внешнего приложения. Пока PLM была запущена, всё работало, но стоило её перезапустить, как она стала ругаться, что не может найти объект с удалённым мной идентификатором и при этом вылетает (завершает свою работу). Вернуть идентификатор на место с помощью внешнего приложения я не могу, так как PLM не запущена. Остаётся только внести его назад в базу в ручную... но вот засада... таблиц много.... очень много, а где хранятся идентификаторы не известно :) С помощью поиска я хочу попытаться найти таблицу в которой хранятся идентификаторы.
|
Delirium, спасибо за ссылки. Они натолкнули меня на правильные мысли :)
Так как в SQL я чайник и разбираться нет времени, то написал поиск используя симбиоз Java и SQL. Вот сам код, может кому пригодится: Код:
public static void main(String[] args) |
Время: 00:54. |
Время: 00:54.
© OSzone.net 2001-