Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 646
user439199 Avatar asked Jun 14 '11 01:06

user439199


1 Answers

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;
like image 83
Patrick Marchand Avatar answered Nov 07 '22 20:11

Patrick Marchand