[firebase-br] DELETE CASCADE

Carlos H. Cantu listas em warmboot.com.br
Sex Nov 9 09:53:44 -03 2012


Veja:

http://tracker.firebirdsql.org/browse/CORE-1541

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

JRP> Quando mando excluir a venda, ele exclui primeiro a venda e
JRP> depois os itens da venda, com isso tenho os seguintes problemas:


JRP> ·         Em todas as tabelas tem uma trigger responsável pelo
JRP> sincronismos entre as bases de dados, e no banco de dados
JRP> Firebird, as informações para sincronizar acabam ficando na ordem
JRP> inversa, pois em vez de deletar os itens primeiro, primeiro ele
JRP> deleta a venda - consequentemente quando ele vai realizar as
JRP> operações do sincronismo na outra base de dados ocorre o erro,
JRP> pois ele tenta deletar a venda sem deletar os itens antes.

JRP> ·         Na tabela de itens da venda, tenho uma trigger no
JRP> evento Delete, que busca informações da venda para manter o saldo
JRP> de estoque. Porém como a venda não existe mais, esses informações
JRP> vem null, causando mais um problema.

JRP> Na teoria de um SGBD, o delete cascade trabalha diferente,
JRP> primeiro ele deleta os registros 'filho' e depois então dele o registro da tabela 'pai'.

JRP> Observação: já troquei o evento das triggers de before para
JRP> after e continua o mesmo problema.

JRP> Versões do Firebird: 2.5.0, 2.5.1 e 2.5.2

JRP> Desde já agradeço a atenção de todos!

JRP> Jonas Rodrigo Pacheco
JRP> Administrador de Banco de Dados



JRP> ______________________________________________
JRP> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
JRP> Para saber como gerenciar/excluir seu cadastro na lista, use:
JRP> http://www.firebase.com.br/fb/artigo.php?id=1107
JRP> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista