-

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;
/

Leave a Comment

Your email address will not be published.

You may use these HTML tags and attributes: <a href=""> <abbr> <acronym> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Send a Message