Есть ли способ выполнить полнотекстовый поиск всех пакетов и процедур oracle?
Я хотел бы выполнить поиск по всем моим пакетам процедур и функциям для определенной фразы.
поскольку можно получить код для скомпилированных процедур с помощью toad, я предполагаю, что полный текст хранится в некоторой таблице словаря данных. Кто-нибудь знает где это будет?
Спасибо большое
3 ответов
вы можете сделать что-то вроде
SELECT name, line, text
FROM dba_source
WHERE upper(text) like upper('%<<your_phrase>>%') escape '\'
процедура поиска объектов Toad будет просматривать ALL_SOURCE (и другие части словаря данных). Конечно, это будет ограничено объектами, которые может видеть подключенный пользователь. Если у вас есть доступ к версии DBA, отлично. Если нет,вы не будете искать все.
кроме того, если вы вернулись на Oracle 7 или ваша база данных была перенесена с Oracle 7 на 8i или 9i (не уверен в 10 или 11), Источник триггера может не отображаться в user_source или all_source просмотр. Лучше проверить. Самый простой способ, который я нашел, чтобы он появился, - это сделать фактическую модификацию - добавить пробел, например, - и перекомпилировать триггер.
вы имеете в виду использование PL/SQL? Или просто с помощью жабы? Я знаю, что вы можете использовать функцию "Найти объекты" (или что-то в этом роде) для ручного поиска по всем объектам, таким как procs, таблицы и т. д...