Подтвердить что ты не робот

Поиск кода PL/SQL

SELECT * из ALL_OBJECTS возвращает имена различных процедур/пакетов/таблиц/других объектов db. Я хочу заглянуть в код PL/SQL для соответствующей строки. Как это сделать?

Что-то вроде: (псевдокод) SELECT * FROM all_code WHERE line_of_code, например '% mytext%'

4b9b3361

Ответ 1

Используйте что-то вроде:

    SELECT * 
      FROM USER_SOURCE 
     WHERE type='PACKAGE' 
       AND NAME='PACKAGE_NAME' 
  ORDER BY type, name, line;

Есть много вариантов, проверьте таблицу USER_SOURCE.

Для поиска ВСЕ кода для строки:

  SELECT *
    FROM ALL_SOURCE
   WHERE UPPER(text) LIKE UPPER('%what I am searching for%')
ORDER BY type, name, line

Обратите внимание, что код представления не включен в таблицы _SOURCE. Код просмотра хранится в [USER|ALL|DBA]_VIEWS.TEXT, который является длинным столбцом и трудно запросить.