1. oracle
CREATE OR REPLACE FUNCTION nextval(v_seq_name in varchar2)
Return number Is
v_seq number;
v_sqlstr varchar2(128);
begin
v_sqlstr:='select 'v_seq_name'.nextval '' from '' dual';
execute immediate v_sqlstr into v_seq;
return v_seq;
END;
2. 达梦
CREATE OR REPLACE FUNCTION nextval(v_seq_name in varchar2)
Return number Is
v_seq number;
v_sqlstr varchar2(128);
begin
set v_sqlstr= CONCAT('select ' ,v_seq_name,'.nextval from dual');
execute immediate v_sqlstr into v_seq;
return v_seq;
END;
本文介绍如何在Oracle及达梦数据库中创建一个用于获取序列下一个值的函数。通过SQL语句定义函数nextval,并演示了如何使用CONCAT进行字符串拼接来实现跨数据库的兼容性。
1588

被折叠的 条评论
为什么被折叠?



