Orace序列怎样恢复从1开始
SQL> create table test (
2 id number(8) primary key,
3 name varchar2(20) not null);
表已创建。
SQL> create sequence test_seq
2 start with 1
3 increment by 1
4 nocache;
序列已创建。
SQL> insert into test (id,name) values (test_seq.nextval,'aaa');
已创建 1 行。
SQL> select * from test;
ID NAME
---------- --------------------
2 aaa
各位大虾,为什么我的序列老是从2开始?
------最佳解决方案--------------------你是11gr2吧?据说是个bug!
10g上面就是好好的,从1开始的。
------其他解决方案--------------------
顶,
create sequence test_seq
2 start with 0
3 increment by 1
4 nocache;
------其他解决方案--------------------因为你从1开始起步。所以,你创建序列的的当前值为1,但是你使用了nextval取下一个值就是2了,你可以把起步值为0试试
------其他解决方案--------------------以前用上面的语句序列是从1开始,后来Oracle出了点问题,重装了一下Oracle,重装后建序列,每次就都从2开始啦。
------其他解决方案--------------------把它减一不可以么??