重置自增序列

博客给出一段代码,用于调整Oracle序列的起始值。代码中定义了起始数值、步进等变量,通过执行SQL语句,先计算差值,修改序列的增量,再恢复原步进值,实现从指定数值开始生成序列。

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值