本章介绍了序列,创建序列的概念,查看序列和删除它们。
序列是一个软件功能,其生成整数升序或降序排列,在一个确定的范围内,以产生主键和表之间协调其他密钥。序列可以使用整数,如雇员标识或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.