[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