描述

该语句用来创建自增列。

格式

  1. CREATE SEQUENCE sequence_name
  2. [MINVALUE value | NOMINVALUE]
  3. [MAXVALUE value | NOMAXVALUE]
  4. [START WITH value]
  5. [INCREMENT BY value]
  6. [CACHE value | NOCACHE]
  7. [ORDER | NOORDER]
  8. [CYCLE | NOCYCLE];

参数解释

参数

描述

MINVALUE value | NOMINVALUE

指定自增列的最小值,取值范围是 -1027 ~ (1027-1)。

如果指定为 NOMINVALUE,则升序时最小值为 1,降序时最小值为 -(1027-1)。

不指定时缺省为 NOMINVALUE。

MAXVALUE value | NOMAXVALUE

指定自增列的最大值,取值范围是 (-1027+1) ~ 1027

如果指定为 NOMAXVALUE,则升序时最大值为(1028-1),降序时最大值为 -1。

不指定时缺省为 NOMAXVALUE。

START WITH value

指定自增列的起始值。该值必须小于等于 MAXVALUE,且大于等于 MINVALUE。

如果不指定,则升序时默认取值为最小值,降序时默认取值为最大值。

INCREMENT BY value

指定自增列的自增步数。该值不可以为 0。

如果指定为正数,则自增列为升序;如果指定为负数,则自增列为降序。

不指定缺省值为 1。

CACHE value | NOCACHE

指定在内存中预分配的自增值个数,默认为20。

ORDER | NOORDER

指定自增列的值是否按顺序生成,默认为 NOORDER。

CYCLE | NOCYCLE

指定自增列的值是否循环生成,默认为 NOCYCLE。

示例

  • 创建一个自增列 s1。
  1. OceanBase(ADMIN@TEST)>create sequence S1 minvalue 1 maxvalue 5 nocycle noorder cache 10240000;

注意事项

  • 同时指定 MINVALUE 和 MAXVALUE 时,MINVALUE 必须小于 MAXVALUE。

  • MAXVALUE 和 MINVALUE 之差必须大于等于 INCREMENT BY value。

  • CACHE value 的值必须大于 1,如果 CACHE value 的值为 1,则等价于 NOCACHE。

  • 指定了 CYCLE,且 INCREMENT BY value 小于 0 时,必须指定 MINVALUE。

  • 指定了 CYCLE 时, CACHE 的数量必须不能超过一个 cycle。