[firebase-br] SQL para verificar campos NOT NULL que estão nulos

Felipe Aron felipearon em gmail.com
Seg Jun 6 14:57:03 -03 2011


Acabei montando uma procedure para auxiliar nessa questão - e deu certo!

Basicamente eu percorro os campos NOT NULL, verificando a quantidade de
registros nullos. Se existir (maior que zero - 0) então mostro o nome do
campo e tabela (suspend)

CREATE OR ALTER procedure VERIFICAR_CAMPOS_NOTNULL
returns (
    TABELA varchar(100),
    CAMPO varchar(100))
as
declare variable SQL varchar(1000);
declare variable QTDENULL integer;
begin


     for select rdb$field_name,
                rdb$relation_name
           from rdb$relation_fields
          where rdb$relation_name in
                (
                    select rdb$relation_name
                      from rdb$relations
                     where rdb$system_flag = 0
                )
            and rdb$null_flag = 1
           into :campo, :tabela
     do begin

        sql = 'select count(*) from '|| :tabela ||' where '|| :campo ||' is
null';

        execute statement :sql into :qtdenull;

        if (qtdenull > 0) then suspend;

     end

end

Em 6 de junho de 2011 14:41, Felipe Aron <felipearon em gmail.com> escreveu:

> Até listar todos os campos do DB que sejam not null eu consegui:
>
> *select rdb$field_source*
> *from rdb$relation_fields*
> *where rdb$relation_name in*
> *(*
> *      select rdb$relation_name*
> *        from rdb$relations*
> *       where rdb$system_flag = 0*
> *         --and rdb$relation_name = 'ROTINAS'*
> *)*
> *and rdb$null_flag = 1 *
>
> Porém não estou encontrando ao campo flag que diz que o campo está null (o
> que não pode por ser not null)
>
> Em 6 de junho de 2011 13:54, Felipe Aron <felipearon em gmail.com> escreveu:
>
> Não é isso.
>>
>> Quero listar todos os campos NOT NULL do banco de dados que não contenham
>> valores (null).
>>
>> Em 6 de junho de 2011 13:51, Hélio Oliveira <hpensador em gmail.com>escreveu:
>>
>> Boa tarde Felipe!
>>>
>>>
>>>  Tem como montar uma SQL para verificar campos NOT NULL que estão nulos?
>>>>
>>>
>>> select x.campo
>>> from tabela x
>>> where x.campo is null
>>>
>>> --
>>> []'s,
>>>
>>> Hélio Oliveira
>>> Bel. Ciência da Computação
>>> Técnico em Contabilidade
>>> e-mail : hpensador em gmail.com
>>> Skype : hpensador
>>> http://hpensador.blogspot.com/
>>> www.hpensador.net
>>> (71) 9975-9176
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>
>>
>>
>> --
>> Analista-Programador
>> #FollowMe: @felipearon <http://twitter.com/felipearon> (
>> http://felipearon.net)
>>
>>
>
>
> --
> Analista-Programador
> #FollowMe: @felipearon <http://twitter.com/felipearon> (
> http://felipearon.net)
>
>


-- 
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)



Mais detalhes sobre a lista de discussão lista