Oracle 自增长主键的处理,

Oracle数据库实现自增和mysql不同,有两种方式的实现,
序列+触发器
优点:使用方便,
缺点:在java服务器调用添加方法时候,返回所增加记录的id困难。
步骤:
1,创建表user

create table USER
(
USERNO NUMBER primary key,
USERNAME NVARCHAR2(20),
USERPWD NVARCHAR2(20)
)

2,创建序列

 create sequence seq_user_id --序列名称
 increment by 1 -- 每次加几个
  start with 1  -- 从1开始计数        
  nomaxvalue      --NOMAXVALUE -- 不设置最大值      
  order                 
  nocycle          -- 一直累加,不循环    
  cache 10;

SELECT seq_user_id.currval FROM DUAL; --查找当前序列值,当前序列必须有缓存,否则查询不到
SELECT seq_user_id.nextval FROM DUAL; --查找序列下一个值

3,创建触发器

create or replace trigger tg_user_id
before insert on user 
for each row when(new.id is null)
begin
  select seq_user_id.nextval into :new.id from dual;
end ;

你可能感兴趣的:(oracle)