如何将序列中的下一个值放入变量中?
Posted
技术标签:
【中文标题】如何将序列中的下一个值放入变量中?【英文标题】:How do you get the next value in a sequence into a variable? 【发布时间】:2011-06-14 01:34:32 【问题描述】:所以我正在编写一个存储过程,并且无法将序列的下一个值放入变量中。
序列名称被传递到函数中并存储为varchar2
变量。如何将该序列中的下一个值放入局部变量中。
【问题讨论】:
【参考方案1】:这样的?
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;
【讨论】:
你也可以运行EXECUTE IMMEDIATE 'BEGIN :ret := '||p_sequence_name||'.nextval; END;' USING OUT v_nextval;
以上是关于如何将序列中的下一个值放入变量中?的主要内容,如果未能解决你的问题,请参考以下文章