序列为啥总是从2开始
首先我要说,此问题在非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
------解决方案--------------------这个是11gr2的一个序列bug了
------解决方案--------------------你试试这个来消除延迟段创建特性?alter session set deferred_segment_creation=false;