[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