declare
n number(20);
v_startnum number(20):=1000000000;–从多少开始
v_step number(10):=1;–步进
tsql varchar2(200);
v_seqname varchar2(200):=‘seq_aaaaa’;–序列名
begin
execute immediate ‘select ‘||v_seqname||’.nextval from dual’ into n;
n:=v_startnum-n-v_step;–从v_startnum开始
tsql:='alter sequence ‘||v_seqname||’ increment by '|| n;
execute immediate tsql;
execute immediate ‘select ‘||v_seqname||’.nextval from dual’ into n;
tsql:='alter sequence ‘||v_seqname||’ increment by '||v_step;
execute immediate tsql;
end;
博客给出一段代码,用于调整Oracle序列的起始值。代码中定义了起始数值、步进等变量,通过执行SQL语句,先计算差值,修改序列的增量,再恢复原步进值,实现从指定数值开始生成序列。
1383

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



