1. 程式人生 > >重置oracle序列從指定數字開始

重置oracle序列從指定數字開始

一般情況我們在測試的時候經常會重置下序列,手動的效率比較低,今天給他程式碼重置

declare
n number(10);
v_startnum number(10):=11;--從多少開始
v_step number(10):=1;--步進
tsql varchar2(200);
v_seqname varchar2(200):='SQL_USER_INFO';--序列名
begin
execute immediate 'select '||v_seqname||'.nextval from dual' into n;
n:=v_startnum-n-v_step;--從11開始
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;

 複製下上面的程式碼 commit;執行以下即可,最後也希望能幫到各位!