Problema com Insert Into

21/11/2004

0

eu tenho um insert into dentro da seguinte trigger:

as
DECLARE VARIABLE MES CHAR(2);
DECLARE VARIABLE ANO CHAR(4);
DECLARE VARIABLE CORTE CHAR(2);
DECLARE VARIABLE VENC CHAR(2);
DECLARE VARIABLE DATA CHAR(10);
DECLARE VARIABLE DTCORTE CHAR(10);
DECLARE VARIABLE FATURA INTEGER;
DECLARE VARIABLE NREGISTRO SMALLINT;
BEGIN

SELECT COUNT(*) AS REGISTROS FROM TABFATURAS FT WHERE FT.NTITULAR=NEW.NCARD
AND FT.FECHADA=0 INTO :NREGISTRO;
BEGIN
IF (NREGISTRO > 0) THEN
BEGIN
FOR SELECT FT.NFATURA FROM TABFATURAS FT WHERE FT.NTITULAR=NEW.NCARD AND FT.FECHADA=0 INTO
:FATURA DO
BEGIN
NEW.NFATURA=:FATURA;
END
IF (NEW.TIPO=´D´) THEN
BEGIN
UPDATE TABFATURAS SET DEBITO=DEBITO + NEW.VALOR WHERE NTITULAR=NEW.NCARD AND FECHADA=0;
UPDATE TABFATURAS SET SALDOFATURA=SALDOFATURA + NEW.VALOR WHERE NTITULAR=NEW.NCARD AND FECHADA=0;
END
ELSE IF (NEW.TIPO=´C´) THEN
BEGIN
UPDATE TABFATURAS SET CREDITO=CREDITO + NEW.VALOR WHERE NTITULAR=NEW.NCARD AND FECHADA=0;
UPDATE TABFATURAS SET SALDOFATURA=SALDOFATURA - NEW.VALOR WHERE NTITULAR=NEW.NCARD AND FECHADA=0;
END
END
ELSE IF (NREGISTRO <= 0) THEN
BEGIN
FOR SELECT CLI.DIACORTE, CLI.DIAVENCIMENTO FROM TABCLIENTES CLI WHERE
NCARTAO=NEW.NCARD INTO :CORTE,:VENC DO
BEGIN
for select extract(month from current_date) from rdb$database into :MES do
for select extract(year from current_date) from rdb$database into :ANO do
/* BEGIN
DATA=VENC+´/´+MES+´/´+ANO;
DTCORTE=CORTE+´/´+MES+´/´+ANO;
END*/
[b:6c9a871414]INSERT INTO TABFATURAS(VENCIMENTO,SALDOANT,PGTOANT,SALDOREMAN,SALDOFATURA,
PGTOMIN,VRPAGO,DATAPROC,DEBITO,CREDITO,DATAPGTO,PAGO,FECHADA,NTITULAR)VALUES(
´01/01/2004´,0,0,0,50,0,0,´01/01/2004´,50,0,NULL,´0´,´0´,´00001´);[/b:6c9a871414]
END
END
END
END
^

quando eu tiro o insert into da trigger e executo o insert fore da trigger (sozinho) ele funciona normalmente mas dentro da trigger ele dá o seguinte erro:

[b:6c9a871414]arithmetic exception, numeric overflow, or string trunction[/b:6c9a871414].

eu já testei a trigger em before insert e after inser.

oq mtem de errado?

obrigado pessoal.


Tap_pedroso

Tap_pedroso

Responder

Posts

22/11/2004

Weber

arithmetic exception, numeric overflow, or string trunction.


Algum valor que você está passando é maior que o tamanho suportando pelo campo.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar