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?
Have you tried using the fully qualified name in your code?
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';
You will either have to fully qualify your sequence via:
Or create a public synonym for it:
Make sure that you create the sequence in uppercase, even if you use lower case in trigger / select statement.