DB2序列


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.