首頁  >  文章  >  資料庫  >  oracle怎麼修改sequence

oracle怎麼修改sequence

WBOY
WBOY原創
2022-05-25 16:19:234493瀏覽

方法:1、用DROP SEQUENCE語句刪除sequence,然後用Create sequence語句重新建立一個;2、用Increment By修改序列初始值,語法為「ALTER SEQUENCE...INCREMENT BY 數值」。

oracle怎麼修改sequence

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle怎麼修改sequence

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

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

1、先刪除序列,然後重新建立。

這個方法比較暴力,也比較方便,如果序列有在用,會影響應用的正常使用。

若不加條件語句,預設建立的序列格式如下:

oracle怎麼修改sequence

#語意Semantics:

INCREMENT BY:指定序列成長步長。可以為正(升序)、負整數(降序),但不能為0。最高精度28。

START WITH: 指定序列起始數。預設為序列最小值。

MAXVALUE :指定序列最大值。最大28位。必須大於等於起始值且大於等於序列最小值。

NOMAXVALUE:  無最大值(實際為10^27或-1)。 default

MINVALUE :指定序列最小值。

NOMINVALUE  :無最小值(實際為1或-10^26)。 Default

CYCLE  :指定序列達到最大值或最小值後繼續從頭開始產生。

NOCYCLE :不循環產生。 Default.

CACHE :指定資料庫記憶體中預先分配的序列值個數,以便快速取得。最小cache值為2。

刪除序列必須要有drop  any  sequence權限

語法:

oracle怎麼修改sequence

範例:

DROP SEQUENCE oe.customers_seq;

2.透過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;

推薦教學:《Oracle影片教學

以上是oracle怎麼修改sequence的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn