Using SQLPlus, I have the following sequence generated:
CREATE SEQUENCE pubnum_seq
START WITH 7
INCREMENT BY 2
MAXVALUE 1000;
What I want to do is write a single query that retrieves both the NEXTVAL and the CURRVAL in the sequence. It seems like it should be simple enough. I've tried the following statement:
SELECT pubnum_seq.currval, pubnum_seq.nextval
FROM dual;
However this retrieves the same value for both.
CURRVAL - 7
NEXTVAL - 7
If I try the statements separately, then it gives me what I want, but I'm stump as to how to do this in one query.
I had the same problem. After a lot of research we made two separated queries.
First one checking the current value and second generating a new one.
Seems that the database notices the 'nextval' in the SELECT statement and immediately replaces the 'old' current value.