Oracle Sequence 清零

2014-11-24 18:11:28 · 作者: · 浏览: 0

create or replace procedure
reset_seq(seq_name in varchar2)
is
cur_val number;
begin
execute immediate
'select '||seq_name||'.nextval from dual' into cur_val;

execute immediate

'alter sequence '||seq_name||' increment by -'||cur_val||' minvalue 0';

execute immediate
'select '||seq_name||'.nextval from dual' into cur_val;

execute immediate
'alter sequence '||seq_name||' increment by 1 minvalue 0';
end;