[firebase-br] DELETE CASCADE
Jonas Rodrigo Pacheco
jonas.pacheco em tecnicon.com.br
Sex Nov 9 09:36:11 -03 2012
Quando mando excluir a venda, ele exclui primeiro a venda e depois os itens da venda, com isso tenho os seguintes problemas:
· Em todas as tabelas tem uma trigger responsável pelo sincronismos entre as bases de dados, e no banco de dados Firebird, as informações para sincronizar acabam ficando na ordem inversa, pois em vez de deletar os itens primeiro, primeiro ele deleta a venda - consequentemente quando ele vai realizar as operações do sincronismo na outra base de dados ocorre o erro, pois ele tenta deletar a venda sem deletar os itens antes.
· Na tabela de itens da venda, tenho uma trigger no evento Delete, que busca informações da venda para manter o saldo de estoque. Porém como a venda não existe mais, esses informações vem null, causando mais um problema.
Na teoria de um SGBD, o delete cascade trabalha diferente, primeiro ele deleta os registros 'filho' e depois então dele o registro da tabela 'pai'.
Observação: já troquei o evento das triggers de before para after e continua o mesmo problema.
Versões do Firebird: 2.5.0, 2.5.1 e 2.5.2
Desde já agradeço a atenção de todos!
Jonas Rodrigo Pacheco
Administrador de Banco de Dados
Mais detalhes sobre a lista de discussão lista