ITPub博客

首页 > 数据库 > > GaussDB 100 修改序列

GaussDB 100 修改序列

作者:GaussDB_数据库 时间:2020-03-02 09:48:10 0 删除 编辑

ALTER SEQUENCE

功能描述

修改序列属性。

注意事项

  • 修改当前用户的序列属性,不需要授予额外的权限。

  • 修改其他用户的序列属性,需要被授予ALTER ANY SEQUENCE系统权限,普通用户不可以修改系统用户对象。

  • 数据库重启回滚期间不支持该操作。

语法格式

ALTER SEQUENCE [ schema_name. ]sequence_name
   {   INCREMENT BY bigint
     | { MAXVALUE bigint | NOMAXVALUE }
     | { MINVALUE bigint | NOMINVALUE }
     | { CYCLE | NOCYCLE }
     | { CACHE bigint | NOCACHE }
     | { ORDER | NOORDER }
   } [ ... ]

参数说明

  • [ schema_name. ]

    用户名。不指定时默认是当前登录用户。

  • sequence_name

    将要修改的序列名。可以用模式修饰。

  • INCREMENT BY bigint

    用于指定序列的步长。

    非零整数。缺省值是1。

    • increment为正数时,将生成一个递增的序列。

    • increment为负数时,将生成一个递减的序列。

  • MAXVALUE bigint | NOMAXVALUE

    MAXVALUE声明序列的最大值。

    NOMAXVALUE声明序列无最大值。

    如果没有声明该子句或者声明了NO MAXVALUE,则使用默认值:

    • 递增序列的缺省为 263-1。

    • 递减序列的缺省为-1。

  • MINVALUE bigint | NOMINVALUE

    MINVALUE声明序列的最小值。

    NOMINVALUE声明序列无最小值。

    如果没有声明该子句或者声明为NO MINVALUE,则使用默认值:

    • 递增序列的缺省为1。

    • 递减序列的缺省为-263+1。

  • CYCLE | NOCYCLE

    CYCLE,用于声明序列达到最大或最小值时可循环,即:

    NOCYCLE,用于声明当序列达到极限值时,取下一个值会出错。

    默认为NOCYCLE。

    • 递增序列到达maxvalue时,生成的下一个数据是minvalue。

    • 递减序列到达minvalue时,生成的下一个数据是maxvalue。

  • CACHE bigint | NOCACHE

    CACHE bigint表示为快速访问而在内存里预先存储序列号的个数,最小值(即缺省值)是1,表示一次只能生成一个值,即没有缓存。NOCACHE表示不设置缓存。

  • ORDER | NOORDER

    ORDER:保证序列号按请求顺序产生。如果想以序列号作为timestamp(时间戳)类型的话,可以采用该选项。对于将序列用于生成主键来说,约定顺序通常并不重要。

    NOORDER:NOORDER跟ORDER相对应,并不按照请求的顺序进行生成。

示例

修改序列seq_auto_extend。

--删除序列seq_auto_extend。
DROP SEQUENCE IF EXISTS seq_auto_extend;
--创建序列seq_auto_extend,序列起点为10,步长为2,最大值为200,序列到达最大值时可循环。
CREATE SEQUENCE seq_auto_extend START WITH 10 MAXVALUE 200 INCREMENT BY 2 CYCLE;
--修改步长为4,最大值为400。
ALTER SEQUENCE seq_auto_extend MAXVALUE 400 INCREMENT BY 4 CYCLE;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3121469/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19288