nawawa001 发表于 2016-11-12 09:24:43

db2 sequence

1、create
             CREATE SEQUENCE <sequence-name>
               AS data-type                           默认 As Integer
            START WITH <numeric-constant>
          INCREMENT BY <numeric-constant>               默认 INCREMENT BY 1
         MINVALUE <numeric-constant> | NO MINVALUE    默认 NO MINVALUE
         MAXVALUE <numeric-constant> | NO MAXVALUE    默认 NO MAXVALUE
         NO CYCLE | CYCLE                           默认 NO CYCLE
         CACHE <numeric-constant> | NO CACHE          默认 CACHE 20
         NO ORDER | ORDER                           默认 NO ORDER

2、序列取值
   取下一个值:
      DB2:    NEXTVAL FOR 序列 或 NEXT VALUE FOR 序列
   取当前值:
      DB2:    PREVIOUS VALUE FOR 序列或 PREVVAL FOR 序列


3、序列设置开始值
      DB2:ALTER SEQUENCE 序列名RESTART WITH 下一值

4、修改
修改最大值:   ALTER SEQUENCE <sequence_name> MAX VALUE <numeric-constant> | NO MAXVALUE
修改最小值:   ALTER SEQUENCE <sequence_name> MIN VALUE <numeric-constant> | NO MINVALUE (此值需要比当前值小)
修改步长:    ALTER SEQUENCE <sequence_name> INCREMENT BY <numeric-constant>;
修改CACHE值: ALTER SEQUENCE <sequence_name> CACHE <numeric-constant> | NO CACHE
修改循环属性: ALTER SEQUENCE <sequence_name> <CYCLE | NO CYCLE>
修改排序属性:ALTER SEQUENCE <sequence_name> <ORDER | NO ORDER>
从新计数:    ALTER SEQUENCE <sequence_name> RESTART | RESTART WITH <numeric-constant>

5、DROP
   DB2:    DROP SEQUENCE <sequence_name>;
6、例子
CREATE SEQUENCE MY_SEQ
    AS INTEGER
   START WITH 10001000
      INCREMENT BY 1
      MINVALUE 10000000
      MAXVALUE 69999999
      CYCLE
      NO CACHE
   ORDER;

selectnextval for MY_SEQ fromsysibm.sysdummy1

select MY_SEQ.nextval from dual;
页: [1]
查看完整版本: db2 sequence