小编典典

序列不存在ORA-02289

sql

我在获取SEQUENCE时遇到问题。我已经以管理员身份创建了一个序列,并向其他用户授予了选择和更改特权。

CREATE SEQUENCE  "OWNER"."TOT_SEQ"  MINVALUE 1000 MAXVALUE 1000000000 INCREMENT BY 1 START WITH 1000 CACHE 20 NOORDER  NOCYCLE ;

grant select,ALTER on TOT_SEQ to user;
commit;

当我这样做时:

select sequence_name from all_sequences;

TOT_SEQ

我可以在列表中看到我的SEQUENCE。

但是我无法访问代码中的序列。使用 :

select <SEQUNCE_name>.nextval from dual;

我究竟做错了什么?


阅读 217

收藏
2021-03-23

共1个答案

小编典典

您将必须通过以下方式完全限定您的顺序:

SELECT <owner>.<sequence name>.nextval FROM dual;

或为其创建公共同义词:

CREATE PUBLIC SYNONYM TOT_SEQ for OWNER.TOT_SEQ;
SELECT TOT_SEQ.nexval FROM DUAL;
2021-03-23