[firebase-br] Trigger Não funciona!!! O FireBird tem Bug!!!
Eliomar
eliomar em promediconet.com.br
Sex Maio 13 08:13:44 -03 2005
Estou usando o a versão 1.5.2 a mais atual né.
Para resolver o problema eu fiz o seguinte:
na table Saidas fiz uma trigger before delete
delete from saidas_itens
where saidas_itens.codigo_saidas = old.codigo
ai resolve o problema, mas dessa forma estou deletando
manualmente os resgistros e sendo um banco relacional
o serviço tem que ser do banco e não meu né.
Agradecido.
Eliomar,
ICQ - 167715482
MSN - eliomar0910 em hotmail.com
Soft-Data Softwares Administrativos
hptt://www.promediconet.com.br
------------- Segue mensagem original! -------------
De: Danilo Rogério <danilorsa_betta em yahoo.com.br>
Data: Fri, 13 May 2005 00:55:40 -0300 (ART)
Para: FireBase <lista em firebase.com.br>
Assunto: Re: [firebase-br] Trigger Não funciona!!! O FireBird tem Bug!!!
De acordo com seu texto, pode ser um bug sim... Mas eu pergunto pro pessoal da lista... O IBExpert full, registrado e pago ou qualquer outra ferramente tem algum DEBUG dos objetos do banco?
Isso te ajudaria, eliomar... mas vc veria passar pela trigger da Saída_Itens...
Em Oracle isso nos ajuda bastante...
Agora, por ninguém ter respondido, nem o Cantu.. imagino que ele esteja verificando junto aos "pais" do Firebird. Por falar nisso: qual versão do banco vc está usando?
Eliomar <eliomar em promediconet.com.br> escreveu:
O assunto é comprido e complicado mas vamos lá...
Eu fiz uma table Saidas, uma Table Saidas_Itens e table Itens
e fiz o relacionamento com a chave estrangeira em cascata.
Até perfeito...
Na table Saidas_Itens eu fiz uma trigger no after post assim:
update itens
set itens.estoque = itens.estoque - saidas_itens.quantidade
where itens.codigo = new.codigo_itens
perfeito o estoque foi atualizado...
na table saidas_itens eu fiz uma trigger no before delete assim:
update itens
set itens.estoque = itens.estoque + saidas_itens.quantidade
where itens.codigo = old.codigo_itens
até ai perfeito... o estoque volta para o que era antigamente quando
eu deleto um registro da table Saidas_Itens. Blz né... é isso mesmo
que tem que acontecer...
Agora se eu apagar a table Saidas, o próprio banco apaga a saidas_itens
pois as duas estão relacionada, até ai... perfeito.
Agora acontece que a trigger não voltou o estoque para o lugar...
Ai eu perguto... o registro da table Saidas_Itens não foi deletado?
Então deferia voltar o estoque ou seja fazer o que esta na trigger.
Isso é um BUG do FireBird?
Agradecido.
Eliomar,
ICQ - 167715482
MSN - eliomar0910 em hotmail.com
Soft-Data Softwares Administrativos
hptt://www.promediconet.com.br
__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista