序列为啥总是从2开始

bbjiabcd 2014-02-16 05:08:53
首先我要说,此问题在非sys、system用户下产生的

CREATE TABLE tbtest1
(
ID NUMBER(10, 0) NOT NULL
, CONSTRAINT tbtest1_PK PRIMARY KEY
(
ID
)
ENABLE
);

create sequence seq_test_id
start with 1
increment by 1;

insert into tbtest1(id) values(seq_test_id.nextval);
SELECT * FROM tbtest1;

CREATE TABLE 成功。
create sequence 成功。
1 行 已插入
ID
----------------------
2

1 rows selected

为啥结果是2,而不是1?
绝对没有select seq_test_id.nextval from dual;
数据库版本 Personal Oracle Database 11g Release 11.2.0.1.0 - Production
...全文
240 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbjiabcd 2014-02-18
  • 打赏
  • 举报
回复
百度了一下,这个版本和 deferred_segment_creation 参数相关的问题还不止这一个
空心兜兜 2014-02-18
  • 打赏
  • 举报
回复
这个挺有意思的
bbjiabcd 2014-02-18
  • 打赏
  • 举报
回复
引用 2 楼 lu010610 的回复:
你试试这个来消除延迟段创建特性?alter session set deferred_segment_creation=false;
的确,执行这句之后就正常了
_拙计 2014-02-16
  • 打赏
  • 举报
回复
你试试这个来消除延迟段创建特性?alter session set deferred_segment_creation=false;
_拙计 2014-02-16
  • 打赏
  • 举报
回复
这个是11gr2的一个序列bug了

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧