诡异的ORA-02289: sequence does not exist

 原文地址:http://blog.itpub.net/20801486/viewspace-695651/

今天被开发人员告知在应用用户下无法查询自己创建的sequence的nextval值。当执行select * from test.nextval时提示“ERROR at line 1:ORA-02289: sequence does not exist”。于是我通过select sequence_name from user_sequences来判断该序列确实存在。于是我询问开发人员创建sequence的语句,结果发现开发人员调用的语句是create sequence "test";问题就出在那个双引号下。如果创建sequence的时候sequence name带了双引号,那么在user_sequences数据字典中并不会显示序列名为"test"而只会显示test,如果要正确调用序列的nextval值则需要使用select * from "test".nextval即可,当然最好是避免在创建序列时在序列名上附加双引号。

你可能感兴趣的:( 诡异的ORA-02289: sequence does not exist)