诡异的ORA-02289: sequence does not exist

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章