[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