ORACLE重置序列起始位置(不需删除)

--此脚本是从网络上copy过来,非原创

--重置序列号起始值
declare  
n number(10); 
v_startnum number(10):=1000000;--从多少开始 
v_step number(10):=1;--步进 
tsql varchar2(200); 
v_seqname varchar2(200):='SEQ_RE_QR_CODE_REF';--序列名 
begin 
 execute immediate 'select '||v_seqname||'.nextval from dual' into n; 
  n:=v_startnum-n-v_step;--从1000000开始 
  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)