描述
该语句用来创建自增列。
格式
CREATE SEQUENCE sequence_name
[MINVALUE value | NOMINVALUE]
[MAXVALUE value | NOMAXVALUE]
[START WITH value]
[INCREMENT BY value]
[CACHE value | NOCACHE]
[ORDER | NOORDER]
[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。
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。