Em 27 de fevereiro de 2014 16:31, Douglas Fabiano Specht <
[email protected]> escreveu:

> boa tarde Pessoal,
> queria saber se alguém ja precisou ou pode me ajudar a buscar nas tabelas
> de um banco de dados quais os campos estão totalmente vazios ou nulos, ou
> seja, sem  nunca ter recebidos nenhum dado.
>
> a ideia é buscar campos não utilizados em nosso banco de dados.
>


Douglas, não sei se era isso que você queria ou se vai parecer gambiarra.
Achei interessante a tua ideia e acho que deu certo da seguinte maneira:

select ' SELECT '''||table_schema||'.'||table_name||'.'||column_name||'''
AS coluna, ( EXISTS (SELECT 1 FROM '||table_schema||'.'||table_name||'
WHERE '||column_name||' IS NULL) ) AS vazia UNION ALL '
  from information_schema.columns
 where is_nullable = 'YES'
   AND table_schema = '*NOME_DO_SCHEMA*'

A consulta acima vai retornar um UNION gigante com todas as colunas que
podem ser nulas no teu banco. Você pode copiar o resultado em outra janela,
remover o último UNION ALL e executar a query.

O resultado é uma lista dos campos e o valor TRUE/FALSE informando se o
campo se encontra nulo no momento.

Se estiver utilizando o pgAdmin vai em "File > Options > Query Tool >
Results Grid" e limpa o campo "Result copy quote character".

Espero ter ajudado!

-- 

Atenciosamente,

Diego Nobre


>
>
>
>
> --
>
> Douglas Fabiano Specht
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a