今天被开发人员告知在应用用户下无法查询自己创建的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即可,当然最好是避免在创建序列时在序列名上附加双引号。
转载于:https://blog.51cto.com/12575213/1308837
本文详细介绍了在SQL查询中遇到序列名错误的问题,特别是序列名包含双引号的情况,提供了解决方法并强调了在创建序列时避免使用双引号的重要性。

3万+

被折叠的 条评论
为什么被折叠?



