=?US-ASCII?Q?Re: [firebase-br] Trigger N=E3o f =3D?ISO-8859-1?Q?unciona!!!=5FO=5FFireBird=5Ftem=5FBug!!!?=3D?=

Pha-Lista lista em pha.com.br
Sex Maio 13 11:21:52 -03 2005


No DB2 funciona assim, mais no FB acho que e um bug, e o AfterDelete ele executa?

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: Daniel Pohren danielpohren em gmail.com
Date: Fri, 13 May 2005 11:19:57 -0300
To: FireBase lista em firebase.com.br
Subject: Re: [firebase-br] Trigger Não f	=?ISO-8859-1?Q?unciona!!!_O_FireBird_tem_Bug!!!?=

> Olha, só, não vou postar uma solução, mas um testemunho de que vc n> ão
> está sozinho nesta :-)
> 
> Realmente NÃO SEI se isto é um BUG e será corrigido nas próximas
> versões do Firebird ou se é algo conceitual, e está certo assim, só
> nós não enxergamos...
> Mas o fato é QUE:
> 
> Se eu tiver uma trigger de BeforeDelete em uma tabela, e esta tiver
> uma ForeignKey do tipo CASCADE para outra, quando esclui a principal
> ele exclui corretamente os registros na tabela ddetalhe, mas NÃO
> EXECUTA a trigger de BeforeDelete na detalhe...
> 
> Pergunto, isto é um BUG mesmo?
> 
> On 5/13/05, Eliomar <eliomar em promediconet.com.br> wrote:
> > 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 Bu> g!!!
> > 
> > De acordo com seu texto, pode ser um bug sim... Mas eu pergunto pro pesso> al da lista... O IBExpert full, registrado e pago ou qualquer outra ferrame> nte 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 d> o 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.f> irebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > 
> > ______________________________________________
> > 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.f> irebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > 
> 
> 
> -- 
> Daniel Pohren
>    Naphta Informática
> 
> ______________________________________________
> 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