I am creating an audit log on several tables and I was wondering if it is possible to get the primary key/sequence.nextval of an newly inserted row from inside a trigger.
CREATE or REPLACE TRIGGER PAT_ORDERS$TRIGGER AFTER INSERT OR UPDATE OR DELETE ON ACCOUNT REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE v_transaction_id number(20); BEGIN SELECT NVL(MAX(TRANSACTION_ID), 0) + 1 INTO v_transaction_id FROM ORDERS_AUDIT_LOG; /* -- IF For Inserting -- */ IF INSERTING THEN INSERT INTO ORDERS_AUDIT_LOG (log_id, transaction_id, transaction_date, table_name, table_pk_value, column_name, previous_value, changed_value, change_by,action) VALUES ((SELECT NVL(MAX(LOG_ID), 0) + 1 FROM ORDERS_AUDIT_LOG), v_transaction_id, SYSDATE, 'ACCOUNT', :NEW.ID, -- Will this work????? 'ACCT_NAME', :OLD.ACCT_NAME, :NEW.ACCT_NAME, :NEW.LAST_MODIFIED_USER,'INSERT');