Поиск кода PL / SQL - PullRequest
       9

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

15 голосов
/ 10 марта 2009

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

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

1 Ответ

31 голосов
/ 10 марта 2009

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

    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, который является столбцом LONG, и его трудно запрашивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...