user439199
user439199

Reputation: 397

How do you get the next value in a sequence into a variable?

So I'm writing a stored procedure and am having trouble getting the next value of a sequence into a variable.

The sequence name is passed into the function and is stored as a varchar2 variable. How can you get the next value in that sequence into a local variable.

Upvotes: 7

Views: 20802

Answers (1)

Patrick Marchand
Patrick Marchand

Reputation: 3445

Something like this?

create or replace procedure next_val (p_sequence_name varchar2)
as

v_nextval integer;
v_select varchar2(100);

begin

v_select := 'select '||p_sequence_name||'.nextval from dual';

execute immediate v_select into v_nextval;

dbms_output.put_line('Nextval is: '||TO_CHAR(v_nextval));

end;

Upvotes: 13

Related Questions