CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_SESSIONS BEFORE UPDATE ON SESSIONS FOR EACH ROW DECLARE cg$rec cg$SESSIONS.cg$row_type; cg$ind cg$SESSIONS.cg$ind_type; cg$old_rec cg$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.CLIENT_ID := :new.CLIENT_ID; cg$ind.CLIENT_ID := (:new.CLIENT_ID IS NULL AND :old.CLIENT_ID IS NOT NULL ) OR (:new.CLIENT_ID IS NOT NULL AND :old.CLIENT_ID IS NULL) OR NOT(:new.CLIENT_ID = :old.CLIENT_ID) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).CLIENT_ID := :old.CLIENT_ID; cg$rec.USER_NAME := :new.USER_NAME; cg$ind.USER_NAME := (:new.USER_NAME IS NULL AND :old.USER_NAME IS NOT NULL ) OR (:new.USER_NAME IS NOT NULL AND :old.USER_NAME IS NULL) OR NOT(:new.USER_NAME = :old.USER_NAME) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).USER_NAME := :old.USER_NAME; cg$rec.SYUS_ID := :new.SYUS_ID; cg$ind.SYUS_ID := (:new.SYUS_ID IS NULL AND :old.SYUS_ID IS NOT NULL ) OR (:new.SYUS_ID IS NOT NULL AND :old.SYUS_ID IS NULL) OR NOT(:new.SYUS_ID = :old.SYUS_ID) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).SYUS_ID := :old.SYUS_ID; cg$rec.CUST_ID := :new.CUST_ID; cg$ind.CUST_ID := (:new.CUST_ID IS NULL AND :old.CUST_ID IS NOT NULL ) OR (:new.CUST_ID IS NOT NULL AND :old.CUST_ID IS NULL) OR NOT(:new.CUST_ID = :old.CUST_ID) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).CUST_ID := :old.CUST_ID; cg$rec.INTE_ID := :new.INTE_ID; cg$ind.INTE_ID := (:new.INTE_ID IS NULL AND :old.INTE_ID IS NOT NULL ) OR (:new.INTE_ID IS NOT NULL AND :old.INTE_ID IS NULL) OR NOT(:new.INTE_ID = :old.INTE_ID) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).INTE_ID := :old.INTE_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$SESSIONS.cg$table(cg$SESSIONS.idx).IP_ADDRESS := :old.IP_ADDRESS; cg$rec.EXPIRES := :new.EXPIRES; cg$ind.EXPIRES := (:new.EXPIRES IS NULL AND :old.EXPIRES IS NOT NULL ) OR (:new.EXPIRES IS NOT NULL AND :old.EXPIRES IS NULL) OR NOT(:new.EXPIRES = :old.EXPIRES) ; cg$SESSIONS.cg$table(cg$SESSIONS.idx).EXPIRES := :old.EXPIRES; cg$SESSIONS.idx := cg$SESSIONS.idx + 1; if not (cg$SESSIONS.called_from_package) then cg$SESSIONS.validate_arc(cg$rec); cg$SESSIONS.validate_domain(cg$rec, cg$ind); cg$SESSIONS.validate_domain_cascade_update(cg$old_rec); cg$SESSIONS.upd(cg$rec, cg$ind, FALSE); cg$SESSIONS.called_from_package := FALSE; end if; :new.USER_NAME := cg$rec.USER_NAME; :new.SYUS_ID := cg$rec.SYUS_ID; :new.CUST_ID := cg$rec.CUST_ID; :new.INTE_ID := cg$rec.INTE_ID; :new.IP_ADDRESS := cg$rec.IP_ADDRESS; :new.EXPIRES := cg$rec.EXPIRES; -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; /