In PostgreSQL,我可以这样做:
ALTER SEQUENCE serial RESTART WITH 0;
Oracle 有类似的吗?
这是 Oracle 大师提供的一个将任何序列重置为 0 的好过程Tom Kyte。下面的链接也对利弊进行了精彩的讨论。
[email protected]>
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;
/
从这个页面:动态 SQL 重置序列值
另一个很好的讨论也在这里:如何重置序列?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)