91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle序列sequence

發布時間:2021-11-12 09:41:59 來源:億速云 閱讀:128 作者:柒染 欄目:關系型數據庫

這篇文章將為大家詳細講解有關Oracle序列sequence,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Oracle序列:序列(Sequence)創建、使用、修改、刪除,序列(Sequence)是用來生成連續的整數數據的對象。序列常常用來作為主鍵中增長列,序列中的可以升序生成,也可以降序生成。

語法:創建序列
CREATE SEQUENCE sequence_name
[START WITH num]
[INCREMENT BY increment]
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]

語法解析:
 START WITH:從某一個整數開始,升序默認值是1,降序默認值是-1。
 INCREMENT BY:增長數。如果是正數則升序生成,如果是負數則降序生成。升序默認值是1,降序默認值是-1。
 MAXVALUE:指最大值。
 NOMAXVALUE:這是最大值的默認選項,升序的最大值是:1027,降序默認值是-1。
 MINVALUE:指最小值。
 NOMINVALUE:這是默認值選項,升序默認值是1,降序默認值是-1026。
 CYCLE:表示如果升序達到最大值后,從最小值重新開始;如果是降序序列,達到最小值后,從最大值重新開始。
 NOCYCLE:表示不重新開始,序列升序達到最大值、降序達到最小值后就報錯。默認NOCYCLE。
 CACHE:使用CACHE選項時,該序列會根據序列規則預生成一組序列號。保留在內存中,當使用下一個序列號時,可以更快的響應。當內存中的序列號用完時,系統再生成一組新的序列號,并保存在緩存中,這樣可以提高生成序列號的效率。Oracle默認會生產20個序列號。
 NOCACHE:不預先在內存中生成序列號。



案例2:創建一個從1開始,默認最大值,每次增長1的序列,要求NOCYCLE,緩存中有30個預先分配好的序列號。

代碼演示:生成序列號

SQL> CREATE SEQUENCE MYSEQ
     MINVALUE 1
     START WITH 1  
     NOMAXVALUE
     INCREMENT BY 1
     NOCYCLE
     CACHE 30
       /

Sequence created

序列創建之后,可以通過序列對象的CURRVAL和NEXTVAL兩個“偽列”分別訪問該序列的當前值和下一個值。

使用序列:

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

   1

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

2

SQL> SELECT MYSEQ.CURRVAL FROM DUAL;

CURRVAL

----------

   2

使用ALTER SEQUENCE可以修改序列,在修改序列時有如下限制:
你或者是該sequence的owner,或者有ALTER ANY SEQUENCE 權限才能改動sequence. 可以alter除start至以外的所有sequence參數.如果想要改變start值,必須 drop  sequence 再 re-create .  

1. 不能修改序列的初始值。
2. 最小值不能大于當前值。
3. 最大值不能小于當前值。

使用DROP SEQUENCE命令可以刪除一個序列對象。


序列修改和刪除

SQL> ALTER SEQUENCE MYSEQ
     MAXVALUE 10000  
     MINVALUE -300  
     /
   
SEQUENCE ALTERED

刪除:
SQL> DROP SEQUENCE MYSEQ;

SEQUENCE DROPPED

 Oracle序列:序列(Sequence)創建、使用、修改、刪除,序列(Sequence)是用來生成連續的整數數據的對象。序列常常用來作為主鍵中增長列,序列中的可以升序生成,也可以降序生成。

語法:創建序列
CREATE SEQUENCE sequence_name
[START WITH num]
[INCREMENT BY increment]
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]

語法解析:
 START WITH:從某一個整數開始,升序默認值是1,降序默認值是-1。
 INCREMENT BY:增長數。如果是正數則升序生成,如果是負數則降序生成。升序默認值是1,降序默認值是-1。
 MAXVALUE:指最大值。
 NOMAXVALUE:這是最大值的默認選項,升序的最大值是:1027,降序默認值是-1。
 MINVALUE:指最小值。
 NOMINVALUE:這是默認值選項,升序默認值是1,降序默認值是-1026。
 CYCLE:表示如果升序達到最大值后,從最小值重新開始;如果是降序序列,達到最小值后,從最大值重新開始。
 NOCYCLE:表示不重新開始,序列升序達到最大值、降序達到最小值后就報錯。默認NOCYCLE。
 CACHE:使用CACHE選項時,該序列會根據序列規則預生成一組序列號。保留在內存中,當使用下一個序列號時,可以更快的響應。當內存中的序列號用完時,系統再生成一組新的序列號,并保存在緩存中,這樣可以提高生成序列號的效率。Oracle默認會生產20個序列號。
 NOCACHE:不預先在內存中生成序列號。



案例2:創建一個從1開始,默認最大值,每次增長1的序列,要求NOCYCLE,緩存中有30個預先分配好的序列號。

代碼演示:生成序列號

SQL> CREATE SEQUENCE MYSEQ
     MINVALUE 1
     START WITH 1  
     NOMAXVALUE
     INCREMENT BY 1
     NOCYCLE
     CACHE 30
       /

Sequence created

序列創建之后,可以通過序列對象的CURRVAL和NEXTVAL兩個“偽列”分別訪問該序列的當前值和下一個值。

使用序列:

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

   1

SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL

----------

2

SQL> SELECT MYSEQ.CURRVAL FROM DUAL;

CURRVAL

----------

   2

使用ALTER SEQUENCE可以修改序列,在修改序列時有如下限制:
你或者是該sequence的owner,或者有ALTER ANY SEQUENCE 權限才能改動sequence. 可以alter除start至以外的所有sequence參數.如果想要改變start值,必須 drop  sequence 再 re-create .  

1. 不能修改序列的初始值。
2. 最小值不能大于當前值。
3. 最大值不能小于當前值。

使用DROP SEQUENCE命令可以刪除一個序列對象。


序列修改和刪除

SQL> ALTER SEQUENCE MYSEQ
     MAXVALUE 10000  
     MINVALUE -300  
     /
   
SEQUENCE ALTERED

刪除:
SQL> DROP SEQUENCE MYSEQ;

SEQUENCE DROPPED

關于Oracle序列sequence就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三都| 南城县| 涪陵区| 泸州市| 蒲城县| 资阳市| 会东县| 上杭县| 青铜峡市| 怀仁县| 屯门区| 固原市| 睢宁县| 平阴县| 玉溪市| 临漳县| 富裕县| 鄱阳县| 泰安市| 通海县| 张掖市| 哈密市| 五峰| 峨眉山市| 铜梁县| 长葛市| 阿城市| 靖宇县| 乌鲁木齐县| 林周县| 寿光市| 鄱阳县| 札达县| 怀宁县| 白朗县| 清水河县| 布尔津县| 永兴县| 勃利县| 崇仁县| 剑河县|