DB2 - 序列



本章將向您介紹序列的概念、序列的建立、序列的檢視以及刪除序列。

介紹

序列是一個軟體函式,它以升序或降序生成整數,在一個確定的範圍內,用於生成主鍵並在表之間協調其他鍵。您可以使用序列來獲取整數,例如,用於 employee_id 或 transaction_id。序列可以支援 SMALLINT、BIGINT、INTEGER 和 DECIMAL 資料型別。一個序列可以被多個應用程式共享。序列的遞增或遞減與事務無關。

序列由 CREATE SEQUENCE 語句建立。

序列型別

有兩種型別的序列可用

  • NEXTVAL:它返回序列號的遞增值。

  • PREVIOUS VALUE:它返回最近生成的的值。

序列的引數

序列使用以下引數

資料型別:這是返回的遞增值的型別。(SMALLINT、BIGINT、INTEGER、NUMBER、DOUBLE)

START WITH:序列開始的參考值。

MINVALUE:序列開始的最小值。

MAXVALUE:序列的最大值。

INCREMENT BY:序列遞增的步長值。

序列迴圈:CYCLE 子句導致序列重複生成。序列生成是透過參考返回的值進行的,該值儲存在資料庫中,由先前的序列生成儲存。

建立序列

您可以使用以下語法建立序列

語法

db2 create sequence <seq_name> 

示例:[建立名為“sales1_seq”的新序列,並從 1 開始遞增值]

db2 create sequence sales1_seq as int start 
with 1 increment by 1  

檢視序列

您可以使用以下語法檢視序列

語法

db2 value <previous/next> value for <seq_name>

示例:[檢視序列“sales1_seq”中之前更新的值列表]

db2 values previous value for sales1_seq  

輸出

 1 
----------- 
  4 
  1 record(s) selected. 

刪除序列

要刪除序列,您需要使用“DROP SEQUENCE””命令。以下是操作方法

語法

db2 drop sequence <seq_name>>

示例:[從資料庫中刪除序列“sales1_seq”]

db2 drop sequence sales1_seq  

輸出

 DB20000I The SQL command completed successfully. 
廣告