Поиск текста в хранимых процедурах Oracle - PullRequest
25 голосов
/ 17 февраля 2011

Мне нужно найти все хранимые процедуры в базе данных Oracle, используя TOAD.Я ищу где-нибудь, чтобы разработчики использовали MAX + 1 вместо NEXTVAL в последовательности, чтобы получить следующий идентификационный номер.

Я работал с SQL Server годами и знаю несколько способов сделать это там, ноникто не помогает мне здесь.

Я пытался использовать

SELECT * FROM user_source
WHERE UPPER(text) LIKE '%blah%'

Результаты возвращаются, но только для моей схемы по умолчанию, а не для схемы, в которой мне нужно искать.

Я также попробовал ниже, но это просто ошибки

SELECT * FROM SchemaName.user_source
WHERE UPPER(text) LIKE '%blah%'

Ответы [ 3 ]

63 голосов
/ 17 февраля 2011
 SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%'

РЕДАКТИРОВАТЬ Добавление дополнительной информации:

 SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%'

Разница в том, что dba_source будет содержать текст всех сохраненных объектов.All_source будет содержать текст всех хранимых объектов, доступных пользователю, выполняющему запрос. Справочник по базе данных Oracle 11g, выпуск 2 (11.2)

Другое отличие состоит в том, что у вас может не быть доступа к dba_source.

3 голосов
/ 02 февраля 2017

Я всегда использую UPPER(text) как UPPER('%blah%')

2 голосов
/ 28 августа 2012

Если вы используете UPPER(text), like '%lah%' всегда будет возвращать ноль результатов. Используйте '%LAH%'.

...