Поиск текста в хранимых процедурах Oracle

Мне нужно выполнить поиск по всем хранимым процедурам в базе данных 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%'

person PseudoToad    schedule 17.02.2011    source источник


Ответы (3)


 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.

person Shannon Severance    schedule 17.02.2011
comment
Ты жжешь! Большое спасибо Шеннон! - person PseudoToad; 17.02.2011
comment
Если вы хотите ограничить поиск определенной схемой, вы можете добавить AND OWNER = 'ИМЯ ВЛАДЕЛЬЦА СХЕМЫ'. - person Nils Weinander; 17.02.2011

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

person Guest1    schedule 02.02.2017
comment
Чтобы критиковать другой ответ, используйте комментарий. (Требуется 50 репутации, которую вы можете заработать, публикуя полезные ответы и вопросы.) - person Baum mit Augen; 02.02.2017

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

person ANM KABIR    schedule 28.08.2012