CREATE OR REPLACE TRIGGER DTULTATU_DESGRUPROMOCPR
BEFORE INSERT OR UPDATE OR DELETE
ON DESGRUPROMOCPR FOR EACH ROW
BEGIN
   IF INSERTING THEN
      :NEW.DTULTATUDESPR := SYSDATE;
   END IF;
   IF UPDATING THEN
      :NEW.DTULTATUDESPR := SYSDATE;
      IF :OLD.CDGRUPROMOC <> :NEW.CDGRUPROMOC OR
         :OLD.CDPRODPROMOCAO <> :NEW.CDPRODPROMOCAO OR
         :OLD.CDPRODUTO <> :NEW.CDPRODUTO THEN
         INSERT INTO DELETECACHE (NMTABLECACHE, CDFILICACHE, DSKEYCACHE, DTULTATUCACH)
                       VALUES ('DESGRUPROMOCPR', NULL, 'CDGRUPROMOC='||:OLD.CDGRUPROMOC||
                                                       ';CDPRODPROMOCAO='||:OLD.CDPRODPROMOCAO||
                                                       ';CDPRODUTO='||:OLD.CDPRODUTO||
													   ';NRSEQGRPROMO='||:OLD.NRSEQGRPROMO||';', SYSDATE);
      END IF;
   END IF;
   IF DELETING THEN
      INSERT INTO DELETECACHE (NMTABLECACHE, CDFILICACHE, DSKEYCACHE, DTULTATUCACH)
                       VALUES ('DESGRUPROMOCPR', NULL, 'CDGRUPROMOC='||:OLD.CDGRUPROMOC||
                                                       ';CDPRODPROMOCAO='||:OLD.CDPRODPROMOCAO||
                                                       ';CDPRODUTO='||:OLD.CDPRODUTO||
													   ';NRSEQGRPROMO='||:OLD.NRSEQGRPROMO||';', SYSDATE);
   END IF;
END;
/

ALTER TABLE DESGRUPROMOCPR MODIFY DTULTATUDESPR DEFAULT SYSDATE
/