序列重置

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;

  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;

你可能感兴趣的:(序列重置)