CREATE OR REPLACE TRIGGER DTULTATU_ITEMPRECO
BEFORE INSERT OR UPDATE OR DELETE
ON ITEMPRECO FOR EACH ROW
BEGIN

   IF INSERTING THEN
      :NEW.DTULTATUITPR := SYSDATE;

      UPDATE PRODUTO
      SET DTULTATUPROD = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO; 

      UPDATE CTRLATUALTAB
         SET DTULTATU = SYSDATE
       WHERE NMTABELA = 'ITMENUCONFTE'
         AND DSCHAVE LIKE '%'||:NEW.CDPRODUTO;

      UPDATE PRODOCORRE
      SET DTULTATUPOCO = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO;

      UPDATE PRODLOJA
      SET DTULTATUPLOJ = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO;

      UPDATE PRODUTOSEG
      SET DTULTATUPSEG = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO; 

   END IF;
   IF UPDATING THEN
      :NEW.DTULTATUITPR := SYSDATE;
      UPDATE PRODUTO
         SET DTULTATUPROD = SYSDATE
       WHERE CDPRODUTO    = :OLD.CDPRODUTO;

      UPDATE CTRLATUALTAB
         SET DTULTATU = SYSDATE
       WHERE NMTABELA = 'ITMENUCONFTE'
         AND DSCHAVE LIKE '%'||:OLD.CDPRODUTO;

   END IF;
   IF DELETING THEN
      INSERT INTO DELETECACHE (NMTABLECACHE, CDFILICACHE, DSKEYCACHE, DTULTATUCACH)
                       VALUES ('ITEMPRECO',:OLD.CDFILIAL, 'CDFILIAL='||:OLD.CDFILIAL||';CDTABEPREC='||:OLD.CDTABEPREC||';DTINIVGPREC='||TO_CHAR(:OLD.DTINIVGPREC,'DD/MM/YYYY')||';CDPRODUTO='||:OLD.CDPRODUTO||';CDPRPAITABPR='||:OLD.CDPRPAITABPR||';', SYSDATE);
   END IF;
END;
/



