序列未生成任何值

Sequence is not generating any value

当我在 运行 下面的代码中出现错误。

declare
x int ;
begin 
 x:=APP_COMP_DETAIL_STG_ID_SEQ.nextval;
 dbms_output.put_line('values is   '||x);
 end;
 /

Error report - ORA-01403: no data found ORA-06512: at line 4 01403. 00000 - "no data found" *Cause: No data was found from the objects. *Action: There was no data from the objects which may be due to end of fetch.

实际上,序列没有生成任何值。有效且未达到最大值。我真的不确定问题出在哪里。当我 运行 select APP_COMP_DETAIL_STG_ID_SEQ.nextval from dual; 我没有得到任何输出。

这是生产问题。

序列没有问题。问题在双重 table 中。实际上有人在我们的本地环境中创建了 dual table。所以它不是指向 sys.dual 的同义词,而是指向我们本地的 table。删除 table 之后,我们的问题就解决了。我们也可以使用 sys.dual 但这不是一个好的做法。