I'm trying to create a trigger
to update my product inventory, when the status of my purchase is closed (CF = Buy Closed).
However, it is giving me an error, and I could not identify what is causing this error to be generated. Anyone have any tips?
O erro é Erro(3,5): PL/SQL: SQL Statement ignored
Erro(3,70): PL/SQL: ORA-00904: "NEW"."IDCOMPRA": identificador inválido
Erro(6,7): PL/SQL: SQL Statement ignored
Erro(6,99): PL/SQL: ORA-00904: "NEW"."IDPRODUTO": identificador inválido
What I did:
CREATE TRIGGER ATUALIZA_ESTOQUE BEFORE INSERT ON ITEMCOMPRA FOR EACH ROW
DECLARE SITUACAOCOMPRA CHAR(2);
BEGIN
SELECT SITUACAOCOMPRA INTO SITUACAOCOMPRA FROM COMPRA WHERE ID = NEW.IDCOMPRA;
IF(SITUACAOCOMPRA = 'CF') THEN
--BEGIN
UPDATE PRODUTO SET QUANTIDADEPRODUTO = QUANTIDADEPRODUTO + NEW.QUANTIDADEPRODUTO WHERE ID = NEW.IDPRODUTO;
--END;
END IF;
END;