[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