为什么在尝试获取序列的currval时会出现错误ORA-08002?

时间:2014-11-18 09:33:06

标签: oracle jdbc

在TOAD中,我可以执行此查询:

select my_seq.currval from dual;

但是当我尝试在我的应用程序中执行它时,我得到了这个错误:

java.sql.SQLException: ORA-08002: sequence MY_SEQ.CURRVAL is not yet defined in this session
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)

2 个答案:

答案 0 :(得分:1)

答案很简单:在使用currval之前,你必须至少读一次nextval。

答案 1 :(得分:-1)

对此的解决方法是执行此 sql:

select LAST_NUMBER-1 currval from all_sequences t where t.sequence_name = 'put here your sequence_name';