[firebase-br] RES: disparar uma trigger

celso franco de camargo celfcam em uol.com.br
Qui Nov 23 09:26:12 -03 2006


Bom dia Eduardo
   obrigado pela resposta, mas verifique que eu estou fazendo lançamentos na
tabela contacaixamov(movimentos) e atualizando uma outra tabela chamada
contacaixa, portando trabalhando com 2 tabelas.
grato a voce e todos da lista.



----- Original Message -----
From: "Eduardo Resek" <eresek em projesom.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, November 21, 2006 12:19 PM
Subject: [firebase-br] RES: disparar uma trigger


Você não pode atualizar a própria tabela num trigger "AFTER" insert ou
update. Tem que ser num trigger "BEFORE". Os triggers "AFTER" servem para
realizar alguma operação em outras tabelas apenas.

Eduardo Resek

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de celfcam
Enviada em: segunda-feira, 20 de novembro de 2006 21:06
Para: lista
Assunto: Re: [firebase-br] disparar uma trigger

bom dia Mario

   desculpe a demora em responder, na verdade este é meu primeiro sistema
com FB 1.5 e delphi 7 com dbexpress e depois de encontrar o fio da meada e
conseguir parte do que pretendo implementar, cheguei a conclusão que devo
"RALAR MUITO" ou seja vou degustar todo o material que consegui a respeito,
agora com certeza algum dia voltaremos a falar sobre este ou outro assunto e
se eu precisar de ajuda com certeza dou um grito para você e galera da
lista.
    Agora a trigger que não estava funcionando nem mesmo no Ibexpert é esta

SET TERM ^ ;


CREATE TRIGGER ATU_TOTALDEBITO FOR CONTACAIXAMOV
ACTIVE AFTER INSERT DELETE POSITION 0
AS
BEGIN

     UPDATE CONTACAIXA
     SET TOTALDEBITO = TOTALDEBITO + CONTACAIXAMOV.VALOR
     WHERE CONTACAIXA.CODIGO = CONTACAIXAMOV.CONTADEBITO;


  /* Trigger text */
END
^


SET TERM ; ^

   mario isto é só o começo, acho que vou gostar do que vem por ai!

   um abraço, e muito obrigado por enquanto
   o meu muito obrigado ao pessoal da lista




> Ola,
>
> TRIGGER, em portugues é GATILHO, e é disparada sempre após uma AÇÃO!
>
> Portanto vc não pode usar uma TRIGGER como uma STP.
>
> Você deve atribuir a ela uma ação, por exemplo:
> BEFORE INSERT - neste caso sempre antes de inserir algum dado em uma
> tabela ele executa a tal trigger!
>
> Outra coisa, faltou vc mostrar a trigger no qual "não executa pelo
> fb1.5"
>
> Valeu
> Mario H.
>
>
>
> Em Sáb, 2006-11-18 às 10:36 -0200, celso franco de camargo escreveu:
> > Bom dia Pessoal
> >
> >
> >        Quais são os procedimentos ou configurações no BD necessárias
para que seja disparada uma trigger?
> >         Infelizmente no FB 1.5 que utilizo não consigo que seja
disparadas é como se elas não existissem, ou seja não da nenhuma mensagem de
sucesso ou fracasso.
> >
> > tenho duas tabelas simples,
> >
> > CONTAMOV
> >
> > CODIGO - INT
> > DATA - DATE
> > HORA - TIME
> > HISTORICO - VARCHAR
> > CONTADEBITO - INT
> > CONTACREDITO - INT
> > VALOR - NUM (15,2)
> >
> > CONTA
> >
> > CODIGO - INT
> > DATA - DATE
> > GRUPO - INT
> > DESCRICAO - CHAR
> > TOTALDEBITO - NUM(15,2)
> > TOTALCREDITO - NUM(15,2)
> > SALDO - NUM(15,2)
> >
> > o objetivo da trigger é atualizar a tabela conta nos campos totaldebito,
totalcredito e saldo considerando os lancamentos na tabela contamov nos
campos contadebito, contacredito e valor sendo os seguintes campos de mesmo
conteudo :
> >
> > conta.codigo = contamov.contadebito
> > conta.codigo = contamov.contacredito
> >
> > se alguem puder me ajudar ou indicar onde conseguir tal informação
agradeço e muito!!
> >
> > celso
> >
> > ______________________________________________
> > 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
>


______________________________________________
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


---
avast! Antivirus: Inbound message clean.
Virus Database (VPS): 0650-0, 22/11/2006
Tested on: 23/11/2006 09:15:20
avast! - copyright (c) 1988-2006 ALWIL Software.
http://www.avast.com







Mais detalhes sobre a lista de discussão lista