[firebase-br] trigger para editar pedidos

Andrei Luís compuvale.software em gmail.com
Seg Set 3 09:54:59 -03 2007


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>> > ______________________________________________>




Mais detalhes sobre a lista de discussão lista