在項目中,有可能要導入以前的數據,或其他數據,如果序列衝突了,會導不進去。此時就可以通過設置步長,來修改當前的序列。
先找到你要重置(修改)的序列
select * from dba_sequences where SEQUENCE_NAME like '%MCJNL%';
如果你的序列的最小值設置的是1,執行下面的語句使起始值爲0:
alter sequence eipsit.mcjnlno minvalue 0;
查找當前序列的值
select eipsit.mcjnlno.nextval from dual;
可以看到當前的序列爲4028,此時可以通過下面的命令來修改你想要的序列,比如我想要序列-50,那麼我可以設置步長爲-50.
alter sequence mcjnlno increment by -50;
執行之後查詢序列,就可以把序列-50了
如果要把序列重置爲零的話就執行下面的操作
設置步長
alter sequence mcjnlno increment by -3978;
執行序列:
select eipsit.mcjnlno.nextval from dual;
最後要調整步長爲+1的正常狀態。
alter sequence mcjnlno increment by 1;
下面就可以使用從1開始的序列了。