oracle序列代替主键
- 背景
- 正文
- 创建序列
- 使用序列
背景
最近在从mysql整合同步一批数据到oracle的过程中遇到了不少问题,分篇记录一下。
正文
用navicat设计数据表的时候发现主键无法设置自增长,查了相关资料oracle确实不提供。解决方案也有不少,比如常见的UUID,而我这里想到建立一个序列作为主键。
创建序列
create sequence SEQ_TEST
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 50
cycle;
SEQ_TEST:序列名称
start with:从当前值开始
increment by:增长值
使用序列
插入语句
insert into table(id,name) values(SEQ_TEST.nextval,'张三')
查询序列
select SEQ_TEST.nextval from dual