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 ;