[firebase-br] trigger para editar pedidos

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Seg Set 3 14:44:54 -03 2007


da pra me passar a sintasse dessa trigger entaum

Em 03/09/07, Magno Machado <magnomp.gprs em gmail.com> escreveu:
>
> >
> > Só depois desse commit, na aplicação, é que serão disparadas as
> > triggers do banco
>
> Acabei de fazer um teste aqui, e a trigger é executada assim que o
> comando(insert/update/delete) é enviado para o sgbd, antes do commit.
> É claro que se você não confirmar a transação, as alterações feitas pelas
> triggers também não serão confirmadas.... Mas a execução se dá
> independente
> do commit, ao que parece.
>
>
> Em 03/09/07, Andrei Luís <compuvale.software em gmail.com> escreveu:
> >
> > Reijanio,
> >
> > Endossando o que o Rubem já te falou: você está um pouco equivocado
> > com o conceito de triggers. A trigger só é disparada qdo você comita a
> > transação. Veja:
> >
> > Na aplicação Delphi:
> >
> > qryCliente.Insert;
> >
> > {digita os dados nos edits}
> >
> > qryCliente.Post;
> >
> > qryCliente.ib_Transaction.Commit;
> >
> > Só depois desse commit, na aplicação, é que serão disparadas as
> > triggers do banco: primeiro as before insert e depois as after insert.
> > Para trigger before/after update é a mesma coisa.
> >
> > 2 opções para fazer o que você quer:  Rodar SQL pelo Delphi ou montar
> > uma Stored Procedure e chamar rodar essa SP.
> >
> > 1 - Primeiro você roda: Insert into itensPedidosTemporaria Select *
> > from itensPedidos where pedido_id=1234
> >     E depois: Delete from itensPedidos where pedido_id=1234
> >
> > 2 - montar uma SP com as duas instruções acima, e que receba como
> > parâmetro o parâmetro pedido_id
> >
> > []
> > Andrei
> >
> >
> > Em 03/09/07, Reijanio Nunes Ribeiro<rnribeiro em gmail.com> escreveu:
> > > façamos assim estou apanhando pra criar uma trigger veja essa sintase
> e
> > a
> > > corrija então:
> > >
> > > CREATE trigger edita_pedido for pedidos
> > > active before update position 0
> > > AS
> > > begin
> > >   /* Trigger text */
> > >   insert into itens_pedidos_temp where IDPED =: old.idped;
> > >   delete from itens_pedidos where IDPED =: old.idped;
> > >
> > > end
> > >
> > > so te ressaltando q n tenho costume de usar triggers e na verdade tbm
> n
> > > gostava muito da ideia mais ta dando erro entaum preciso tentar dessa
> > forma
> > >
> > > Em 03/09/07, Rubem Nascimento da Rocha <djpardalrocha em hotmail.com>
> > escreveu:
> > > >
> > > >
> > > > Companheiro, com toda a certeza, retruco que quem está equivocado é
> > você.
> > > > Não existe execução de trigger no lado cliente, onde você pode
> > programar a
> > > > execução de uma trigger do banco de dados através de um evento de
> > clique de
> > > > botão. A execução de uma trigger só ocorre de acordo com o que eu já
> > > > expliquei.
> > > >
> > > > Outra coisa, quando vc edita um registro em uma aplicação cliente,
> as
> > > > regras que regem essa operação são determinadas pela aplicação
> > cliente, ou
> > > > seja, no momento da edição de um registro não existe interação
> alguma
> > com o
> > > > banco de dados, de forma que essa edição possa ser sinalizada e isso
> > > > disparar uma trigger. Isso não existe!
> > > >
> > > > A interação com o banco de dados só vai ocorrer quando vc for
> > > > submeter/enviar/'commitar'/etc. os seus dados ao banco de dados após
> a
> > > > edição do registro.
> > > >
> > > > Vc ainda está equivocado!
> > > > Sds.
> > > > > Date: Mon, 3 Sep 2007 09:00:07 -0300> From: rnribeiro em gmail.com>
> To:
> > > > lista em firebase.com.br> Subject: Re: [firebase-br] trigger para
> editar
> > > > pedidos> > brother acho q quem n entendeu foi vc estou querendo uma
> > trigger
> > > > pra editar> uma tabela so q essa ediç~~ao vai ser chamada através de
> > um
> > > > botão como em> todos sistema existe essa opção, quero q ela execute
> > essa
> > > > ação no momento q> foi feita a edição da tabela> > Em 03/09/07,
> Rubem
> > > > Nascimento da Rocha <djpardalrocha em hotmail.com> escreveu:> >> >> >
> > Trigger
> > > > disparada ao clicar de um botão? Meu caro, acho que vc está meio> >
> > > > equivocado com a explicação de sua dúvida.> >> > Uma trigger só é
> > disparada
> > > > de dentro do banco de dados quando um evento de> > manutenção de
> dados
> > > > (INSERT, UPDATE ou DELETE) vai ocorrer, e ainda assim a> > trigger
> > pode ser
> > > > programada para ser disparada antes(BEFORE) ou após(AFTER)> > a
> > ocorrência
> > > > do evento. Uma trigger não pode ser executada por uma aplicação> >
> > cliente.
> > > > Alias, em SGBD algum isso é possível> >> > Explique melhor sua
> > dúvida.> >
> > > > Sds.> > > Date: Mon, 3 Sep 2007 08:48:42 -0300> From:
> > rnribeiro em gmail.com>
> > > > To:> > lista em firebase.com.br> Subject: [firebase-br] trigger para
> > editar
> > > > pedidos>> > > pessoal poderiam me dar uma força com isso perciso de
> > uma
> > > > trigger q ao>> > clicar n botão de editar de meu programa ela copie
> os
> > itens
> > > > do pedido pra>> > tabela temporaria e delete os mesmo da tabela
> > definitiva
> > > > mais n tenho ideia>> > de como fazer isso.> > se puderem me ajudar
> > ficaria
> > > > muito grato> > trabalho> > com 3 tabela pra isso> pedidos>
> > itenspedidos>
> > > > itenspedidostemporaria>> >
> > ______________________________________________>
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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