Oracle修改序列(Sequence)起始值的方法


Oracle 序列(Sequence)主要用於生成流水號,在應用中經常會用到,特別是作為ID值,拿來做表主鍵使用較多。

但是,有時需要修改序列初始值(START WITH)時,有同仁使用這個語句來修改:alter sequence sequencename start with xxxxxxxx。但是,在Oracle DB中,修改序列沒有這樣的語法。下面介紹幾種修改方式:

1.先刪除序列,然后重新創建。不過這不是當前要講的重點。這個方法比較暴力,也比較方便,如果序列有在用,會影響應用的正常使用。

2.寫個循環來增加。如果需要增加500,寫個循環運行500次SELECT SEQUENCE_NAME.NEXTVAL FROM DUAL;

3.通過Increment By來實現修改初始值。

例如:若序列名稱是SEQ_TEST,初始值是13,而現在要設置初始值為1013,Increment By值為:1000(1013-13)

1) 執行:ALTER SEQUENCE SEQ_TEST INCREMENT BY 1000;

2) 執行:SELECT SEQ_TEST.NEXTVAL FROM DUAL;

3) 執行:ALTER SEQUENCE SEQ_TEST INCREMENT BY 1;

修改完成。
下面是一個操作樣例截圖:
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM