Tentando Fazer uma Trigger no Firebird dar certo.
30/09/2022
0
Tenho essa Trigger abaixo, estou tentando fazer com que quando o usuário inserir um orçamento se tenha acréscimo em um item ou no rodapé ative a Trigger.
Só que quando executo da um erro.
Explicando a Trigger:
Quando as condições forem verdadeira quero que:
No campo OBS coloque o valor contido nele mais um texto e o somatório ACRESCIMO e ACRESCIMO_ITENS,
no campo VALOR_FINAL vai ficar o valor do VALOR_FINAL mais o somatório ACRESCIMO e ACRESCIMO_ITENS
Nos campos ACRESCIMO e ACRESCIMO_ITENS zerar.
Não sei dizer por que ela não funciona (Nunca fiz uma antes...) Queria saber o que está errado nela e como consertar.
Só que quando executo da um erro.
Dynamic SQL Error.
SQL error code = -842.
Scale must be between zero and precision.
SQL Code: -842
IB Error Number: 335544569
SQL error code = -842.
Scale must be between zero and precision.
SQL Code: -842
IB Error Number: 335544569
SET TERM ^ ; CREATE TRIGGER ORCAMENTO_VERBA_BI FOR ORCAMENTO ACTIVE BEFORE INSERT POSITION 1 AS DECLARE VARIABLE V_TEXTO BLOB; DECLARE VARIABLE S_ACRES DECIMAL(18, 6); BEGIN /* Trigger body ATIVO ANTES INSERIR */ IF ((NEW.ACRESCIMO IS NOT NULL) OR (NEW.ACRESCIMO_ITENS IS NOT NULL)) THEN BEGIN S_ACRES = NEW.ACRESCIMO + NEW.ACRESCIMO_ITENS; V_TEXTO = NEW.OBS||''Valor de Verba''|| S_ACRES; NEW.VALOR_FINAL = NEW.VALOR_FINAL + NEW.ACRESCIMO + NEW.ACRESCIMO_ITENS; NEW.ACRESCIMO = 0; NEW.ACRESCIMO_ITENS = 0; NEW.OBS = V_TEXTO; END END^ SET TERM ; ^
Explicando a Trigger:
Quando as condições forem verdadeira quero que:
No campo OBS coloque o valor contido nele mais um texto e o somatório ACRESCIMO e ACRESCIMO_ITENS,
no campo VALOR_FINAL vai ficar o valor do VALOR_FINAL mais o somatório ACRESCIMO e ACRESCIMO_ITENS
Nos campos ACRESCIMO e ACRESCIMO_ITENS zerar.
Não sei dizer por que ela não funciona (Nunca fiz uma antes...) Queria saber o que está errado nela e como consertar.
Eduardo Silva
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)