DB2 - 序列

  • 简述

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

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

    有两种可用的序列:
    • NEXTVAL:它返回一个序列号的递增值。
    • PREVIOUS VALUE:它返回最近生成的值。
  • 序列参数

    以下参数用于序列:
    Data type:这是返回的递增值的数据类型。(SMALLINT、BIGINT、整数、数字、双精度)
    START WITH:序列开始的参考值。
    MINVALUE: 序列开始的最小值。
    MAXVALUE:序列的最大值。
    INCREMENT BY:序列递增的步长值。
    Sequence cycling: 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<sequence_name>“ 命令。这是您的操作方法:</sequence_name>
    语法:
    
    db2 drop sequence <seq_name>>
    
    例子:[从数据库中删除序列“sales1_seq”]
    
    db2 drop sequence sales1_seq  
    
    输出:
    
     DB20000I The SQL command completed successfully.