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

ALTER TABLE GRUPROMOCPROD MODIFY DTULTATUGRPROPR DEFAULT SYSDATE
/