日期:2014-05-17  浏览次数:20875 次

Oracle 序列起始默认值的问题
DROP SEQUENCE myseq;
CREATE SEQUENCE myseq ;

DROP TABLE testseq;
CREATE TABLE testseq (
curr NUMBER,
next NUMBER
) ;

我用这个代码创建的序列,然后插入数据
INSERT INTO testseq(next, curr) VALUES (myseq.currval,myseq.nextval);

连续插入5次,但是为什么的我的起始值不是1 而是2
下面是查询的结果。

而且我在使用START WITH,比如说START WITH 20
同样的使用上面的代码插入5次数据,查询的结果也不是从20开始,是从21开始的
这是怎么回事,我用的Oracle11G R2,但是我用system用户登录的时候又是正常的,默认起始位置设定的20就是从20开始。
oracle

------解决方案--------------------
START WITH 0
START WITH 19
------解决方案--------------------
用你的语句试了很多次,都是1开始。。。
------解决方案--------------------
序列默认的是从1开始的,并且第一次引用时只能取序列的当前值
------解决方案--------------------
让oracle数据库 默认初始值