CREATE OR REPLACE TRIGGER DTULTATU_ITEMPRECODIAGER_CASC
BEFORE INSERT OR UPDATE OR DELETE
ON ITEMPRECODIAGER FOR EACH ROW
BEGIN
   IF INSERTING THEN
      :NEW.DTULTATUITPD := SYSDATE;
      UPDATE PRODUTO
      SET DTULTATUPROD = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO; 

      UPDATE ITMENUCONFTE
      SET DTULTATUITCT = SYSDATE
      WHERE CDIDENTBUTON  = :NEW.CDPRODUTO;
   END IF;
   IF UPDATING THEN
      :NEW.DTULTATUITPD := SYSDATE;
      UPDATE PRODUTO
         SET DTULTATUPROD = SYSDATE
       WHERE CDPRODUTO  = :OLD.CDPRODUTO;

      UPDATE ITMENUCONFTE
         SET DTULTATUITCT = SYSDATE
       WHERE CDIDENTBUTON  = :OLD.CDPRODUTO;
   END IF;
   IF DELETING THEN
      INSERT INTO DELETECACHE (NMTABLECACHE, CDFILICACHE, DSKEYCACHE, DTULTATUCACH)
                       VALUES ('ITEMPRECODIAGER', NULL, 'CDTABEPREC='||:OLD.CDTABEPREC||';DTINIVGPREC='||:OLD.DTINIVGPREC||';CDPRODUTO='||:OLD.CDPRODUTO||';CDPRPAITABPR='||:OLD.CDPRPAITABPR||';NRDIASEMANPR='||:OLD.NRDIASEMANPR||';HRINIPRECDIA='||:OLD.HRINIPRECDIA||';CDTIPOCONSPD='||:OLD.CDTIPOCONSPD||';', SYSDATE);
   END IF;
END;