发现某sequence递增的值发生了异常,并没有按照设想的来递增。所以需要进行修正,可采用重建sequence的方法来修正此问题。不过为了避免删除、重建sequence带来的不必要的麻烦(对其它对象的影响),将会采用下面的方法进行修正,事实证明此修正方法要巧妙些。
手动修改sequence
1.查询当前sequence select SEQ_SYS_LOG from dual;
2.为了看清楚开始值 alter sequence SEQ_SYS_LOG nocache;
查看最大Id
select max(LOG_ID) from SYS_LOG
3.修改当前sequce为最大ID sequnce alter sequence SEQ_SYS_LOG increment by ID-SEQ_SYS_LOG; --(-28-1)
4 .还原minvalue与increment
alter sequence SEQ_SYS_LOG minvalue 1
alter sequence SEQ_SYS_LOG increment by 1;