create or replace trigger ADDRESS_HISTORY_BEFORE_INSUPDT before insert or update on npdes.ADDRESS_HISTORY for each row declare v_Id Number; v_User Char(8); v_Date Date; BEGIN select USER into v_User from dual; :new.Updated_By := v_User; select SYSDATE into v_Date from dual; :new.Last_Update := v_Date; If :new.KeyID Is Null or :new.KeyID < 1 Then select s_npdes_ADDRESS_HISTORY.nextval into v_Id from dual; :new.KeyID := v_Id; End If; End; /