DB2 - 序列

本章向您介绍序列的概念、序列的创建、查看序列以及删除序列。

简介

序列是一种软件功能,它在一定范围内按升序或降序生成整数,以生成主键并协调表中的其他键。 您可以使用序列来获取整数,例如,employee_id 或 transaction_id。 序列可以支持 SMALLINT、BIGINT、INTEGER 和 DECIMAL 数据类型。 序列可以在多个应用程序之间共享。 无论事务如何,序列都会递增或递减。

序列由 CREATE SEQUENCE 语句创建。

序列类型

有两种类型的序列可用:

  • NEXTVAL:它返回序列号的递增值。

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

序列参数

以下参数用于序列:

数据类型:这是返回的递增值的数据类型。 (SMALLINT、BIGINT、整数、数字、双精度)

START WITH:参考值,序列以此开始。

MINVALUE:序列开始的最小值。

MAXVALUE:序列的最大值。

INCRMENT 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.