Preciso realizar um update em uma tabela utilizando uma trigger, porem não estou conseguindo.
A situação é a seguinte:
Tenho uma tabela chamada IMPRESSAO, onde tem um campo chamado CD_IMRESSAO, DESTINO ETC.... Quando o campo destino receber o valor COLETA eu quero que a trigger altere esse valor para 'não IMPRIMIR'.
consigo fazer uma trigger que monitore a tabela e em determinada situação realize umupdate?
Segue minha Trigger:
CREATE OR REPLACE TRIGGER dbamv.TI_TRG_VERIFICA_IMPRESSAO
AFTER INSERT ON DBAMV.IMPRESSAO
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
PRAGMA Autonomous_Transaction;
BEGIN
IF (:NEW.DESTINO = 'COLETA')THEN
INSERT INTO DBAMV.TB_DEBUG VALUES (:NEW.CD_IMPRESSAO);
UPDATE dbamv.impressao
SET DESTINO = 'não IMPRIMIR'
WHERE CD_IMPRESSAO = (SELECT IM.cd_impressao
FROM dbamv.impressao IM, DBAMV.IMP_PARAMETRO IP
WHERE IM.CD_IMPRESSAO = IP.CD_IMPRESSAO
AND IM.CD_IMPRESSAO = :NEW.CD_IMPRESSAO
AND IP.nome = 'P_SET_EXA'
AND IP.valor = 37);
END IF;
commit;
END;
Vocês que são os mestres ai, por favor me ajudem...
