[firebase-br] problema gravissimo com procedure + trigger - HELP
Murilo >> CPR Sistemas
murilo em cprinformatica.com.br
Qui Jan 3 11:59:37 -03 2008
Ahh sim esquecei, usamos FB 2.0.3
Murilo >> CPR Sistemas escreveu:
> tenho uma procedure que faz o seguinte update:
>
> update ITEMMOVIMENTO
> set id_subnivel_localitem = :id_subnivel_localitem
> where id_item = :id_item and
> id_empresa = 1;
>
>
>
>
> Na tabela ITEMMOVIMENTO tenho a seguinte trigger
>
> CREATE OR ALTER TRIGGER TR_ITEMMOVIMENTO FOR ITEMMOVIMENTO
> ACTIVE AFTER UPDATE POSITION 0
> as
> begin
> if (new.id_subnivel_localitem is not null)
> execute procedure PROC_ATUALIZAITEMESTOQUE(new.id_item, new.id_empresa,
> new.id_itemgrade, new.id_subnivel_localitem, (new.qt_movimento -
> old.qt_movimento), 0);
> end
>
>
>
> e na procedure PROC_ATUALIZAITEMESTOQUE eu tenho isso:
>
> CREATE OR ALTER PROCEDURE PROC_ATUALIZAITEMESTOQUE(
> ID_ITEM INTEGER,
> ID_EMPRESA INTEGER,
> ID_GRADEITEM INTEGER,
> ID_LOCALITEM INTEGER,
> QT_FISICO DOUBLE PRECISION,
> QT_RESERVADO DOUBLE PRECISION)
> AS
> begin
>
> if (ID_LOCALITEM is null)
> exception EXP_TESTE 'Ahhhhhhhhhhhhhhhhh';
> ....
> end
>
>
>
> Acontece que o meu id_subnivel_localitem na tabela ITEMMOVIMENTO é not null, e
> eu tenho certeza que não existe nenhum registro com null, mas por algum motivo
> ele passa dentro do if "if (ID_LOCALITEM is null)" e dispara a exceção
> EXP_TESTE, o que pode estar acontecendo??? pois o só está indo nulo neste campo,
> e antes que falem, já recompilei todas as dependências, já restartei o banco,
> até a máquina já reiniciei no desespero. A posição do campo também já mudei e
> também já fiz verificação dos outros campos, ele é o único que está indo nulo
> (detalhe é que é o mais importante.... o único que nunca pode ser nulo).
>
>
> Agluém faz idéia do que seja? Problema de BIOS, bug,................ Já não sei
> mais o que tentar, até mesmo já substituí a variável por um valor FIXO e
> adivinha o que aconteceu.... NULOOOOOOOOOOooooooooooooooooooooooo
>
> :(
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista