Търсене на текст в съхранените процедури на 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 Database Reference 11g Release 2 (11.2)

Друга разлика е, че може да нямате достъп до dba_source.

person Shannon Severance    schedule 17.02.2011
comment
Супер си! Благодаря много Шанън! - person PseudoToad; 17.02.2011
comment
Ако искате да ограничите търсенето до конкретна схема, можете да добавите AND OWNER = 'SCHEMA OWNER NAME'. - 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