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
来插入多行,这只会在插入多少行后增加序列。我们不需要去猜测你在做什么,也不需要去看。