因为你已经做了select cs2.nextval from dual,所以此时的值为1 当你再做insert into cs3 values(cs2.nextval);此时当然是2了。
因为你已经做了select cs2.nextval from dual,所以此时的值为1 当你再做insert into cs3 values(cs2.nextval);此时当然是2了。
我说的是新的序列,就是说没有做了select cs2.nextval from dual,而是一开始就在表中做了insert into cs3 values(cs2.nextval),就是说我在dual表中和cs3中的序列都是新的,没有做过cs2.nextval,不行的话你们可以试试看。为什么一个是1,而一个是2?
当你再做insert into cs3 values(cs2.nextval);此时当然是2了。
当你再做insert into cs3 values(cs2.nextval);此时当然是2了。
有什么可郁闷的
minvalue,maxvalue,start with,increament by 你一个都没有,你知道它从几开始啊?
--你们怎么试验的,我怎么没有试出来。。[TEST@myoracle] SQL>create sequence cs2;序列已创建。[TEST@myoracle] SQL>
[TEST@myoracle] SQL>create table cs3(c int);表已创建。[TEST@myoracle] SQL>insert into cs3 values(cs2.nextval);已创建 1 行。[TEST@myoracle] SQL>select * from cs3; C
----------
1[TEST@myoracle] SQL>