[firebase-br] RES: Trigger After Delete

Renan Rogowski Pozzo renanrpozzo em gmail.com
Sex Set 4 16:54:32 -03 2015


Olá Matheus.
O fato é que mesmo após o comando *delete, *esse select dentro da trigger
está retornando que possui 1 registro.

Abraço,
Renan Rogowski Pozzo

*"E a paz de Deus, que excede todo o entendimento, guardará os vossos
corações e os vossos pensamentos em Cristo Jesus." Filipenses 4.7*

Em 4 de setembro de 2015 16:49, Matheus Georg Mathias <
desenvolvedor5 em priorize.com.br> escreveu:

> Cara, não sei se é a véspera de feriado mas eu acredito que a validação que
> você deveria estar fazendo seria
> *  if (:i = 0) then*
>
> Pois você fez o delete dessa tabela então se ele tivesse 1 ele não deveria
> ter mais nenhum registro.
>
> E outra coisa, verifica para inicializar esse campo de acordo com o padrão.
>
>
> Atenciosamente,
>
>
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Renan Rogowski
> Pozzo
> Enviada em: sexta-feira, 4 de setembro de 2015 16:11
> Para: FireBase <lista em firebase.com.br>
> Assunto: [firebase-br] Trigger After Delete
>
> Boa tarde.
> Estou com uma dúvida/dificuldade com uma trigger after delete.
>
> Tenho duas tabelas:
> TB_LOTE
> TB_NFC_ITEM_LOTE
>
> A TB_NFC_ITEM_LOTE tem uma FK da TB_LOTE.
>
> Quando apago o registro da TB_NFC_ITEM_LOTE confiro se existia apenas um
> registro para esse ID_LOTE e se não existir tento apagar o ID_LOTE da
> TB_LOTE, conforme trigger after delete abaixo:
>
> *CREATE OR ALTER trigger tb_lote_ad0 for tb_lote* *active after delete
> position 0*
> *AS*
> *declare variable i integer;*
> *begin*
> *  select count(*) from tb_nfc_item_lote where id_lote = old.id_lote into
> i;*
>
> *  if (:i = 1) then*
> *  begin*
> *    delete from tb_lote where id_lote = old.id_lote;*
> *  end*
>
> *end*
>
> Porém apresenta o erro: *violation of FOREIGN KEY constraint "".*
> *violation
> of FOREIGN KEY constraint "FK_TB_NFC_ITEM_LOTE_ID_LOTE" on table
> "TB_NFC_ITEM_LOTE".*
> *Foreign key references are present for the record.*
>
> Mesmo colocando a trigger como after delete, não deveria excluir da TB_LOTE
> ?
>
> Abraço,
> Renan Rogowski Pozzo
>
> *"E a paz de Deus, que excede todo o entendimento, guardará os vossos
> corações e os vossos pensamentos em Cristo Jesus." Filipenses 4.7*
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista