Как искать строки в процедурах, функциях и триггерах Oracle? - PullRequest
1 голос
/ 16 февраля 2011

Мне нужно найти строки внутри процедур, функций и триггеров Oracle.

Для SQLServer я использую что-то вроде этого:

SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%m4_plf_par_periodo%'

Есть что-то подобное для Oracle?

Дайте мне подсказку.

С наилучшими пожеланиями,

Ответы [ 3 ]

3 голосов
/ 16 февраля 2011

вы можете запросить ALL_SOURCE (содержит исходный код для всех программ, к которым у вас есть доступ).

В качестве альтернативы, DBA_SOURCE описывает текстовый источник всех сохраненных объектов вбаза данных и USER_SOURCE содержит текстовый источник только ваших сохраненных объектов.

1 голос
/ 16 февраля 2011

См. этот вопрос для решения с использованием USER_SOURCE.

0 голосов
/ 06 октября 2017

Используйте мастер «Найти объект базы данных» в бесплатном инструменте Oracle DB «Разработчик SQL».

Если быть точным, загрузите и установите Oracle SQL Developer из Oracle -> Создайте новое соединение с базой данных,используя опытного пользователя -> В меню разработчика SQL выберите «Вид» -> открыть пункт меню «Найти объект БД» -> открывает виджет «Найти объект базы данных» на левой панели ->Выберите соединение с БД -> Выберите конкретные схемы для поиска -> Выберите узел «Все исходные линии» -> введите строку для поиска -> Нажмите «Перейти».

Ожидайте, что это не будет деломчувствительный поиск по шаблону во всех источниках триггеров / процедур / функций / пакетов, принадлежащих выбранной схеме, и отображает подробный отчет о поиске образцов строк кода для каждого объекта, в котором он был расположен.

...