重置序列的存储过程

create sequence seq_1 increment by 1 start with 1 maxvalue 999999999; 
 
create or replace procedure seq_reset(v_seqname varchar2) as 
n number(10); 
tsql varchar2(100); 
begin 
execute immediate 'select '||v_seqname||'.nextval from dual' into n; 
n:=-(n-1); 
tsql:='alter sequence '||v_seqname||' increment by '|| n;--让序列一次递增-N,实现归0 
execute immediate tsql; 
execute immediate 'select '||v_seqname||'.nextval from dual' into n; 
tsql:='alter sequence '||v_seqname||' increment by 1'; 
execute immediate tsql; 
end seq_reset; 

你可能感兴趣的:(sql)