Trigger:
CREATE OR REPLACE TRIGGER ATUAL_QUANTOTAL_AUT
AFTER INSERT ON SAIDAS
FOR EACH ROW
BEGIN
UPDATE (SELECT S.QUANTTOTAL, P.QUANT
FROM SAIDAS S
INNER JOIN PRODUTOS P ON :NEW.NE = P.NE ) T
SET T.QUANTTOTAL = T.QUANT;
END;
A trigger é criada, é dada como valida, porém quando eu tento fazer um insert simples nessa tabela de saidas, o BD retorna o seguinte erro:
"ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais numérico ou de valor"
CREATE OR REPLACE TRIGGER ATUAL_QUANTOTAL_AUT
AFTER INSERT ON SAIDAS
FOR EACH ROW
DECLARE
VN_QUANTTOTAL SAIDAS.QUANTTOTAL%TYPE;
VN_QUANT PRODUTOS.quant%type;
BEGIN
SELECT S.QUANTTOTAL, P.QUANT
INTO VN_QUANTTOTAL , VN_QUANT
FROM SAIDAS S
INNER JOIN PRODUTOS P ON :NEW.NE = P.NE;
UPDATE SAIDAS SET QUANTTOTAL = VN_QUANT WHERE NE=:NEW.NE;
END;
Sem a trigger eu consigo inserir normalmente.
Só pra constar os campos q to tentando passar de um para o outro são iguais, de mesmo tamanho.
alguém saberia me ajudar?
Obrigado