Stack Overflow 上的这个线程包含您正在寻找的信息。有两个主要选项:
删除序列并重新创建它,或者
使用技巧,由 Tom Kyte 提供:
要么是一次性的:
alter sequence seq increment by {minus_the_current_value} minvalue 0;
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要定期执行此操作,您可以创建一个程序:
create or replace
procedure reset_seq( p_seq_name in varchar2 )
is
l_val number;
begin
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by -' || l_val ||
' minvalue 0';
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
end;
/
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
2272 次 |
最近记录: |