Como Procurar uma string em todas as tabelas

Olá Amigos, tudo bem?

Me deparei hoje com a situação de ter que pesquisar uma string e não sabia nem em que tabela estava. Apenas sabia que estava lá, pois tinha certeza que tinha posto em um outro dia 😛

Como Fazer

A string pode ser pesquisada em todas as tabelas de um banco de dados Oracle utilizando os seguintes passos: (Neste exemplo, eu estou mostrando como eu faço isso, mas você pode usar a mesma lógica da sua maneira.)

  1. Crie uma tabela para armazenar a contagem das aparições de strings.
    create table TEXT_SEARCH_TBL( TAB_COL_NAME VARCHAR2(100), SEARCH_CNT NUMBER);
  2.  Execute o seguinte comando para gerar a instrução de inserção (cada linha para cada coluna do banco de dados). (Neste exemplo, eu estou procurando uma string chamada “install”).
    SELECT ‘insert into TEXT_SEARCH_TBL select ”’ || TABLE_NAME || ‘ : ‘|| COLUMN_NAME || ”’,count(*) from ‘ || TABLE_NAME || ‘ where lower(‘ || COLUMN_NAME || ‘) like ”%install%”;’ FROM USER_TAB_COLUMNS;procurar string
  3. Executar todas as instruções de inserção que são geradas pela query.
  4. Execute a seguinte instrução para obter a resposta de sua pesquisa.                                                                                                            SELECT * FROM text_search_tbl WHERE search_cnt > 0;

achar string

Até a Próxima!

The following two tabs change content below.

Leo

Analista de BI at CDS

Latest posts by Leo (see all)

Deixe uma resposta