Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FBERNARDO

Problema com Trigger Active Before.

Recommended Posts

Bom dia pessoal.

 

Estou iniciando agora com o Firebird e estou com um problema na hora de rodar a trigger mostrada logo abaixo.

Tanto rodando pelo sql quanto via script. (IBExpert 2007, versão 2.1).

Ela apresenta o seguinte erro na hora da compilação:

-----------------------

Invalid token.

Dynamic SQL Error.

SQL error code = -104.

Token unknown - line 2, char 20.

OR.

-----------------------

 

Alguem poderia me ajudar?

Desde já agradeço pelo ajuda.

CREATE TRIGGER FitTrgVwDespesas FOR FitVwDespesas ACTIVE BEFORE INSERT OR UPDATE OR DELETE
POSITION 0
AS BEGIN IF (inserting) THEN
   BEGIN EXECUTE PROCEDURE
       FitPrcGeraEvento (
          new.incUser
        , 'Despesas'
        , 'I'
        , 'Inclusão na tabela de despesas.'
       );

     INSERT INTO FitDespesas (
        despesaId
      , descricao
      , valor
      , incUser
      , incData
      , altUser
      , altData
     ) VALUES (
        gen_id (FitGenDespesas,1)
      , new.descricao
      , new.valor
      , new.incUser
      , current_timestamp
      , new.altUser
      , current_timestamp
     );
   END

 IF (updating) THEN
   BEGIN EXECUTE PROCEDURE
       FitPrcGeraEvento (
          new.incUser
        , 'Despesas'
        , 'A'
        , 'Alteração na tabela de despesas.'
       );

     UPDATE FitDespesas SET descricao      = new.descricao
            , valor	         = new.valor
            , altUser          = new.altUser
            , altData          = current_timestamp
      WHERE despesaId  = new.despesaId;
   END

 IF (deleting) THEN
   BEGIN EXECUTE PROCEDURE
       FitPrcGeraEvento (
          old.incUser
        , 'Despesas'
        , 'E'
        , 'Exclusão na tabela de despesas.'
       );

     DELETE FROM FitDespesas WHERE despesaId   = old.despesaId;
   END
END;

Compartilhar este post


Link para o post
Compartilhar em outros sites

FBERNARDO, Seja Bem Vindo ao Fórum Imasters, de uma olhada em nossas regras: Regras do Fórum iMasters

 

Este erro é por que não encontrou algum campo na sua tabela, mas por cima não encontrei qual coluna é, ja testou sua procedures de forma isolada pra ver se o erro não esta nelas.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.