sequence doesn't exist ORA-02289

I have a problem getting my SEQUENCE. I have created a sequence as administrator and have grant select and alter privileges to the other user.

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;

When I do this :

select sequence_name from all_sequences;
TOT_SEQ

I can see my SEQUENCE in the list.

But I can't access the sequence in my code. using :

select <SEQUNCE_name>.nextval from dual;

What am I doing wrong?

3

4 Answers

You will either have to fully qualify your sequence via:

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

Or create a public synonym for it:

CREATE PUBLIC SYNONYM TOT_SEQ for OWNER.TOT_SEQ;
SELECT TOT_SEQ.nexval FROM DUAL;
7

Make sure that you create the sequence in uppercase, even if you use lower case in trigger / select statement.

Have you tried using the fully qualified name in your code?

select <owner>.<SEQUNCE_name>.nextval from dual;

If you already have, can you edit the question to post the output of the following commands. The "OWNER", "USER" in your examples are a bit confusing.

select sequence, owner from all_sequences where sequence_name = 'TOT_SEQ'; select grantor, table_name, privilege from all_tab_privs where sequence_name = 'TOT_SEQ';

1

Double check the priviliges of the schema which you are using. Also verify by putting schema name in the code.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like