Oracle 序列增量不工作

Oracle 序列增量不工作,oracle,plsql,sequence,Oracle,Plsql,Sequence,我使用以下查询创建了一个序列: CREATE SEQUENCE TestSeq START WITH 1 INCREMENT BY 1; 它起作用了。我删除了序列并再次创建,但现在它不起作用。它只显示所有记录的1,这是没有意义的 我还尝试使用以下查询,但也没有解决问题: CREATE SEQUENCE TestSeq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; 请不要建议在12c中创建标识栏。因为我需要在ODI中使用序列列,并且我必须指定一个代

我使用以下查询创建了一个序列:

CREATE SEQUENCE TestSeq START WITH 1 INCREMENT BY 1;
它起作用了。我删除了序列并再次创建,但现在它不起作用。它只显示所有记录的1,这是没有意义的

我还尝试使用以下查询,但也没有解决问题:

CREATE SEQUENCE TestSeq START WITH 1 INCREMENT BY 1  NOCACHE NOCYCLE;

请不要建议在12c中创建标识栏。因为我需要在ODI中使用序列列,并且我必须指定一个代理列。提前谢谢。

我根本无法复制这个。请运行以下代码并向我们显示所显示的内容

CREATE SEQUENCE TestSeq START WITH 1 INCREMENT BY 1  NOCACHE NOCYCLE;

select testseq.nextval from dual
/

select testseq.nextval from dual
/

select testseq.nextval from dual
/

您确定您没有在代码中的某个地方使用
TestSeq.currval
而不是
TestSeq.nextval
吗?这并不是说它在这里会有任何区别,而是通常
创建序列TestSeq
是创建序列对象的标准命令。无需指定
以1开头
等,因为这是默认值
NOCACHE
通常不是一个好主意。它有助于显示正在运行的语句和得到的输出。例如,您可能正在执行单个
insert all
来插入多行,这只会在插入多少行后增加序列。我们不需要去猜测你在做什么,也不需要去看。