+ -
当前位置:首页 → 问答吧 → 为什么在dual表中查询新序列的nextval是从1开始,而在表中插入新的序列的nextval是从2开始的?

为什么在dual表中查询新序列的nextval是从1开始,而在表中插入新的序列的nextval是从2开始的?

时间:2011-11-21

来源:互联网

SQL> create sequence cs2;

序列已创建。

SQL> create table cs3(c int);

表已创建。

SQL> insert into cs3 values(cs2.nextval);

已创建 1 行。

SQL> select * from cs3;

  C
----------
  2

作者: cscscscsc   发布时间: 2011-11-21

因为你已经做了select cs2.nextval from dual,所以此时的值为1
当你再做insert into cs3 values(cs2.nextval);此时当然是2了。

作者: LuiseRADL   发布时间: 2011-11-21

楼上正解。

作者: shjp123   发布时间: 2011-11-21

楼上正解。

作者: youqi1984   发布时间: 2011-11-21

因为你已经做了select cs2.nextval from dual,所以此时的值为1
当你再做insert into cs3 values(cs2.nextval);此时当然是2了。 

作者: redlotus_lyn   发布时间: 2011-11-21

热门下载

更多