Поиск текста в хранимых процедурах 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%'
Ответы
Ответ 1
SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%'
EDIT Добавление дополнительной информации:
SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%'
Разница заключается в том, что dba_source будет иметь текст всех сохраненных объектов. All_source будет иметь текст всех сохраненных объектов, доступных пользователю, выполняющему запрос. Oracle Database Reference 11g Release 2 (11.2)
Другое отличие состоит в том, что у вас может не быть доступа к dba_source.
Ответ 2
Я всегда использую UPPER(text)
как UPPER('%blah%')
Ответ 3
Если вы используете UPPER(text)
, like '%lah%'
всегда будет возвращать нулевые результаты. Используйте '%LAH%'
.