How do you get the next value in a sequence into a variable?
20,161
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;
Author by
user439199
Updated on August 04, 2022Comments
-
user439199 over 1 year
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. -
Wernfried Domscheit over 5 yearsYou can also run
EXECUTE IMMEDIATE 'BEGIN :ret := '||p_sequence_name||'.nextval; END;' USING OUT v_nextval;