oracle序列清零(非刪除),實際項目情景演示

在項目中,有可能要導入以前的數據,或其他數據,如果序列衝突了,會導不進去。此時就可以通過設置步長,來修改當前的序列。

先找到你要重置(修改)的序列

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開始的序列了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章