[firebase-br] Exclusão de mestre/detalhe
Daniel Sonda
daniel em mhnet.com.br
Seg Nov 17 14:58:37 -03 2008
Olá pessoal!
Identifiquei um comportamento do Firebird que achei anormal.
Cenário:
- Duas tabelas num relacionamento mestre detalhe, com cascade update e
delete na FK do detalhe com o mestre.
- Trigger BeforeDelete no detalhe com acesso a dados do registro
mestre, usada para log de exclusão.
Problema:
- Ao excluir o registro mestre, a trigger BeforeDelete dos registros
detalhes é disparada.
- Esta trigger acessa dois campos do registro mestre para gerar um log
de exclusão: select A, B from mestre where pk_mestre = old.pk_mestre
into :var_A, :var_B.
- Aqui está o problema: var_A e var_B sempre retornam NULL, como se o
registro mestre já tivesse sido excluído quando os registros detalhes
estão sendo excluídos. Ou seja, o mestre não é localizado.
É assim mesmo que funciona? Ao exclui o mestre, na trigger before delete
dos detalhes eu não consigo mais consultar os dados do mestre?
--
Att.
Daniel Sonda
www.h2jsolucoes.com.br
--
Att.
Daniel Sonda
www.h2jsolucoes.com.br
Mais detalhes sobre a lista de discussão lista