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
