[firebase-br] Erro em Trigger

Zottis zottissistemas em brturbo.com.br
Seg Nov 10 08:57:17 -03 2008


Não seria por causa do comando Max?
( max(mesref))

acho que falta um cast para retornar
 o max como char
espero que seja útil.....


Zottis(TeamFB Users)

Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL

"Um homem só tem o direito de olhar
  a um outro de cima para baixo, quando
  vai ajuda-lo a levantar-se".
                   Gabriel Garcia Marquez
----- Original Message ----- 
From: "Tiago de Assis Pimenta" <tiagopimenta em gmail.com>
To: "Grupo Firebase" <lista em firebase.com.br>
Sent: Sunday, November 09, 2008 12:55 AM
Subject: [firebase-br] Erro em Trigger


Galera estou com a seguinte trigger:



CREATE OR ALTER trigger trg_guias_mesref for guias

active before insert or update position 0

as

declare variable mesref char;

begin

    select

        max(mesref)

    from

        flagfechamento

    into :mesref;



    begin

      if (new.mesref < :mesref) then

        exception exc_mesref_abaixo;

    end

end



A exception esta assim:



CREATE EXCEPTION EXC_MESREF_ABAIXO 'O mês de referência está abaixo do
permitido';



E esta dando o seguinte erro:



Error Message:

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

Arithmetic overflow or division by zero has occurred.

arithmetic exception, numeric overflow, or string truncation.

string right truncation.

At trigger 'TRG_GUIAS_MESREF'.



Alguem sabe o porque ??



Se eu tirar a variável e colocar direto ali if (new.mesref < 200810 ) por
exemplo, ele dá certo. Mas se deixar com o :mesref, da o erro acima.



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista