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

1

7

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.

Whittemore answered 14/6, 2011 at 1:34 Comment(0)
B
13

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;
Buskus answered 14/6, 2011 at 1:44 Comment(1)
You can also run EXECUTE IMMEDIATE 'BEGIN :ret := '||p_sequence_name||'.nextval; END;' USING OUT v_nextval;Crackleware

© 2022 - 2024 — McMap. All rights reserved.