DB2序列
本章介紹了序列,創建序列的概念,查看序列和刪除它們。
序列是一個軟件功能,其生成整數升序或降序排列,在一個確定的範圍內,以產生主鍵和表之間協調其他密鑰。序列可以使用整數,如雇員標識或transaction_id。序列可以支持SMALLINT,BIGINT,INTEGER和DECIMAL數據類型。序列可以在多個應用程序之間共享。序列遞增或遞減無關事務。
一個序列是由CREATE SEQUENCE語句創建。
序列類型
有兩種類型的可用序列:
- NEXTVAL: 它返回序列號的遞增值。
- PREVIOUS VALUE: 它返回最近生成值
序列參數
下麵的參數用於序列:
數據類型:這是返回遞增值的數據類型。 (SMALLINT,BIGINT,INTEGER,NUMBER,DOUBLE)
開始於:基準值時,該序列的開始。
最小值: 一個序列開始的最小值。
最大值: 一個序列最大值。
增量: 通過該序列遞增步長值。
順序循環:在循環子句導致代序列的重複。該序列產生通過參考該返回的值,被存儲到由前一個序列生成的數據庫進行的。
創建序列
可以使用以下語法創建順序:
語法:
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.