教程 > DB2 教程 > DB2 基础 阅读:127

DB2 序列

本章向大家介绍序列的概念、序列的创建、序列的查看和删除。


简介

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

序列由 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.

查看笔记

扫码一下
查看教程更方便