如何将序列中的下一个值转换为变量?

时间:2011-06-14 01:34:32

标签: oracle sqlplus sequences

所以我正在编写一个存储过程,并且无法将序列的下一个值转换为变量。

序列名称传递给函数并存储为varchar2变量。如何将该序列中的下一个值转换为局部变量。

1 个答案:

答案 0 :(得分:13)

这样的东西?

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;