oracle怎么修改sequence

方法: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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享