一个sequence重置的方法

如果直接drop掉,与这个sequence相关的function trigger什么的在下次运行的时候都会重新编译,而且编译有可能会失败,所以采用了下边的方法:

假设sequence seq属性如下:
increment 1
minvalue 1

则用下边方法:
alter sequence seq minvalue 0;
select seq.nextval from dual; --假设值是30
alter sequence seq increment -30;
select seq.nextval from dual; --会得到0
alter sequence seq minvalue 1;
alter sequence seq increment 1;

这样之后再取的时候就会从1开始了。

//从同事(jolin)那学来的, Thank you.

你可能感兴趣的:(sequence)