-
Dicas simples para pesquisar nos objetos do banco por um texto específico. Esta rotina pesquisa em objetos do tipo FUNCTION, TRIGGER, PROCEDURE E PACKAGES. Para proceder com a pesquisa substitua os campos TEXTO_PROCURADOe SEU_SCHEMA
SELECT OWNER||'.'||NAME,LINE,TEXT FROM ALL_SOURCE WHERE TYPE IN ('TRIGGER','FUNCTION','PACKAGE BODY','PROCEDURE') AND UPPER(TEXT) LIKE UPPER('%TEXTO_PROCURADO%') AND OWNER IN ('SEU_SCHEMA')
Caso deseje, você poderá transformar esta query em uma procedure que imprime os resultados em tela (para chamadas rápidas):
CREATE OR REPLACE PROCEDURE pesquisa_texto(P_TEXTO IN VARCHAR2) is BEGIN FOR R IN ( SELECT OWNER||'.'||NAME LOCALIZ,LINE,TEXT FROM ALL_SOURCE WHERE TYPE IN ('TRIGGER','FUNCTION','PACKAGE BODY','PROCEDURE') AND UPPER(TEXT) LIKE UPPER('%'||P_TEXTO||'%') -- TEXTO PROCURADO AND OWNER IN ('SEU_SCHEMA') ) LOOP Dbms_Output.Put_Line('LOCAL: '||R.LOCALIZ||' - '||'LINE: '||R.LINE||' - TEXT: '||R.TEXT); END LOOP; END; /