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. 
广告