如何将序列中的下一个值放入变量中?

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;

以上是关于如何将序列中的下一个值放入变量中?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 如何确定序列中的下一个值?

如何使用 H2 嵌入式数据库获取序列中的下一个值?

为啥 Hibernate 不使用序列表中的下一个序列值?

如何获取序列中的下一个数字

如何将组件对象放入合成 API 中的全局窗口变量中?

Angular2:如何将返回服务值放入私有变量对象中?