Ответ 1
Вы можете сделать что-то вроде
SELECT name, line, text
FROM dba_source
WHERE upper(text) like upper('%<<your_phrase>>%') escape '\'
Я хотел бы просмотреть все мои пакеты процедур и функции для определенной фразы.
Поскольку можно получить код для скомпилированных процедур с использованием toad, я предполагаю, что полный текст сохраняется в некоторой таблице словаря данных. Кто-нибудь знает, где это будет?
Спасибо большое
Вы можете сделать что-то вроде
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? Или просто использовать TOAD? Я знаю, что вы можете использовать функцию "Найти объекты" (или что-то подобное) для ручного поиска по всем объектам, таким как procs, tables и т.д.