先创建序列sequence
create sequence S_User
minvalue 1
nomaxvalue -- 或 maxvalue 999
start with 1
increment by 1
cache 20; -- 或 nocache
参考:
oracle 序列中cache 有什么用途
然后创建触发器
create or replace trigger trg_user before insert on T_USER for each row
begin
select itsmp.S_User.nextval into :new.UserID from dual;
end;