[firebase-br] Exclusão de mestre/detalhe

Magno System magno em speet.com.br
Seg Nov 17 18:01:44 -03 2008


Daniel, mas como você está usando o SELECT dentro da TRIGGER.

Acredito que o correto seria você fazer uma TRIGGER para a tabela mestre e 
lançar os registros em uma outra tabela

INSERT INTO TABELADELOG (CAMPO1, CAMPO2) VALUES(OLD.CAMPOEXCLUIDO1, 
OLD.CAMPOEXCLUIDO2);

Depois você faz um select para recuperar os registros de dentro da 
TABELADELOG.


----- Original Message ----- 
From: "Daniel Sonda" <daniel em mhnet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, November 17, 2008 1:58 PM
Subject: [firebase-br] Exclusão de mestre/detalhe


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


______________________________________________
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 





Mais detalhes sobre a lista de discussão lista