创建序列
create sequence a
increament by 1
start with 1
maxvalue 100
nocycle
cache 10;
如果往空表中直接插入数据,取a.nextval为id的话,查询结果id会从2开始!如果不是从空表插入数据就会从1开始!这是什么原因??请指教
例如:
create table stu(
id number,
name varchar2(10)
);
直接往里面插入数据:insert into stu values(a.nextval,'link');
id会从2开始(注意这是从空表中插入了数据)
要是原来的表中插入了一条数据,id则从1开始的。(在这之前,我把表和序列都重建了)
insert into stu values(12,'d');
insert into stu values(a.nextval,'link');

oracle关于序列的nextval取值
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 二三三 2016-05-09 13:37关注
nextval这个函数是序列里去下一个值的,你设置的从1开始,如果你用了nextval,生成的就是下一个产生的值,如果你设置值的间距是1的话,你用完就产生的是2,如果不用就产生当前的值,就是1
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报