CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_AUDIT_SESSIONS BEFORE UPDATE ON AUDIT_SESSIONS FOR EACH ROW DECLARE cg$rec cg$AUDIT_SESSIONS.cg$row_type; cg$ind cg$AUDIT_SESSIONS.cg$ind_type; cg$old_rec cg$AUDIT_SESSIONS.cg$row_type; BEGIN -- Application_logic Pre-Before-Update-row <> -- Application_logic Pre-Before-Update-row << End >> -- Load cg$rec/cg$ind values from new cg$rec.AUSE_ID := :new.AUSE_ID; cg$ind.AUSE_ID := (:new.AUSE_ID IS NULL AND :old.AUSE_ID IS NOT NULL ) OR (:new.AUSE_ID IS NOT NULL AND :old.AUSE_ID IS NULL) OR NOT(:new.AUSE_ID = :old.AUSE_ID) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).AUSE_ID := :old.AUSE_ID; cg$rec.USERNAME := :new.USERNAME; cg$ind.USERNAME := (:new.USERNAME IS NULL AND :old.USERNAME IS NOT NULL ) OR (:new.USERNAME IS NOT NULL AND :old.USERNAME IS NULL) OR NOT(:new.USERNAME = :old.USERNAME) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).USERNAME := :old.USERNAME; cg$rec.SESSION_ID := :new.SESSION_ID; cg$ind.SESSION_ID := (:new.SESSION_ID IS NULL AND :old.SESSION_ID IS NOT NULL ) OR (:new.SESSION_ID IS NOT NULL AND :old.SESSION_ID IS NULL) OR NOT(:new.SESSION_ID = :old.SESSION_ID) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).SESSION_ID := :old.SESSION_ID; cg$rec.IP_ADDRESS := :new.IP_ADDRESS; cg$ind.IP_ADDRESS := (:new.IP_ADDRESS IS NULL AND :old.IP_ADDRESS IS NOT NULL ) OR (:new.IP_ADDRESS IS NOT NULL AND :old.IP_ADDRESS IS NULL) OR NOT(:new.IP_ADDRESS = :old.IP_ADDRESS) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).IP_ADDRESS := :old.IP_ADDRESS; cg$rec.CREATED_BY := :new.CREATED_BY; cg$ind.CREATED_BY := (:new.CREATED_BY IS NULL AND :old.CREATED_BY IS NOT NULL ) OR (:new.CREATED_BY IS NOT NULL AND :old.CREATED_BY IS NULL) OR NOT(:new.CREATED_BY = :old.CREATED_BY) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).CREATED_BY := :old.CREATED_BY; cg$rec.CREATED_ON := :new.CREATED_ON; cg$ind.CREATED_ON := (:new.CREATED_ON IS NULL AND :old.CREATED_ON IS NOT NULL ) OR (:new.CREATED_ON IS NOT NULL AND :old.CREATED_ON IS NULL) OR NOT(:new.CREATED_ON = :old.CREATED_ON) ; cg$AUDIT_SESSIONS.cg$table(cg$AUDIT_SESSIONS.idx).CREATED_ON := :old.CREATED_ON; cg$AUDIT_SESSIONS.idx := cg$AUDIT_SESSIONS.idx + 1; if not (cg$AUDIT_SESSIONS.called_from_package) then cg$AUDIT_SESSIONS.validate_arc(cg$rec); cg$AUDIT_SESSIONS.validate_domain(cg$rec, cg$ind); cg$AUDIT_SESSIONS.validate_domain_cascade_update(cg$old_rec); cg$AUDIT_SESSIONS.upd(cg$rec, cg$ind, FALSE); cg$AUDIT_SESSIONS.called_from_package := FALSE; end if; :new.USERNAME := cg$rec.USERNAME; :new.SESSION_ID := cg$rec.SESSION_ID; :new.IP_ADDRESS := cg$rec.IP_ADDRESS; :new.CREATED_BY := cg$rec.CREATED_BY; :new.CREATED_ON := cg$rec.CREATED_ON; -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; /