CREATE OR REPLACE TRIGGER AUDIT_PSOPRDEFN AFTER INSERT OR UPDATE ON SYSADM.PSOPRDEFN FOR EACH ROW DECLARE NXCONNECTINFO VARCHAR2(64); NXUSER VARCHAR2(30); NXOPRID VARCHAR2(30); NXTIME DATE; BEGIN SELECT 'user='||sys_context('userenv','os_user')||' ip='||sys_context('userenv','ip_address')|| ' host='||sys_context('userenv','host') into NXCONNECTINFO from dual; select sys_context('userenv','os_user') into NXUSER from DUAL; IF NXUSER != 'psoft' THEN NXOPRID := ' '; NXTIME := NULL; ELSE NXOPRID := :NEW.LASTUPDOPRID; NXTIME := :NEW.LASTUPDDTTM; END IF; IF :NEW.OPERPSWD <> :OLD.OPERPSWD THEN INSERT INTO SYSADM.PS_NX_AUD_OPRDEFN VALUES (USER, SYSDATE, :OLD.OPRID, 'Password Changed', NXCONNECTINFO, NXOPRID, NXTIME); END IF; IF :NEW.ACCTLOCK <> :OLD.ACCTLOCK THEN IF :NEW.ACCTLOCK = 1 THEN INSERT INTO SYSADM.PS_NX_AUD_OPRDEFN values (USER, SYSDATE, :OLD.OPRID, 'Account Locked', NXCONNECTINFO, NXOPRID, NXTIME); ELSE INSERT INTO SYSADM.PS_NX_AUD_OPRDEFN values (USER, SYSDATE, :OLD.OPRID, 'Account Unlocked', NXCONNECTINFO, NXOPRID, NXTIME); END IF; END IF; IF :NEW.LASTUPDOPRID <> :OLD.LASTUPDOPRID THEN INSERT INTO SYSADM.PS_NX_AUD_OPRDEFN values (USER, SYSDATE, :OLD.OPRID, 'LASTUPDOPRID Changed', NXCONNECTINFO, NXOPRID, NXTIME); END IF; END; / ALTER TRIGGER AUDIT_PSOPRDEFN DISABLE;