ALTER SEQUENCE

修改现有序列的属性。

另请参阅:

CREATE SEQUENCEDROP SEQUENCESHOW SEQUENCESDESCRIBE SEQUENCE

语法

ALTER SEQUENCE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER SEQUENCE [ IF EXISTS ] <name> [ SET ] [ INCREMENT [ BY ] [ = ] <sequence_interval> ]

ALTER SEQUENCE [ IF EXISTS ] <name> SET
  [ { ORDER | NOORDER } ]
  [ COMMENT = '<string_literal>' ]

ALTER SEQUENCE [ IF EXISTS ] <name> UNSET COMMENT
Copy

参数

name

指定要更改的序列的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关标识符的更多详细信息,请参阅 标识符要求

RENAME TO new_name

指定序列的新标识符;对于架构必须是唯一的。

有关标识符的更多详细信息,请参阅 标识符要求

可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定 new_name 值,该值分别以 db_name.schema_name.object_nameschema_name.object_name 的形式包含新数据库和/或架构名称。

备注

  • 目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。

  • 除非 对象所有者(即拥有对象 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。

重命名对象时,引用该对象的其他对象必须使用新名称进行更新。

SET...

指定要为序列设置的属性:

[ INCREMENT [ BY ] sequence_interval ]

指定序列的步进间隔:

  • 对于正序列间隔 n,接下来的 n-1 个值由每个序列调用保留。

  • 对于负序间隔 -n,接下来的 n-1 个较低值由每个序列调用保留。

支持的值是可以用 64 位二进制补码整型表示的任何非零值。

{ ORDER | NOORDER }

指定是否按 升序 为序列生成值。

  • ORDER 指定了为序列或自动递增列生成的值按升序排列(如果间隔为负值,则按降序排列)。

    例如,如果序列或自动递增的列具有 START 1 INCREMENT 2,生成的值可能是 13579 等。

  • NOORDER 指定不保证值按递增顺序排列。

    例如,如果序列中有 START 1 INCREMENT 2,生成的值可能是 131015103 等。

    NOORDER 可以在同时执行多个 INSERT 操作时提高性能(例如,在多个客户端执行多个 INSERT 语句时)。

备注

如果序列设置为 NOORDER,则不能将序列更改为 ORDER。

COMMENT = 'string_literal'

添加注释或覆盖序列的现有注释。

UNSET ...

指定要取消设置序列的属性,这会将其重置为默认值。

目前,唯一可以取消设置的属性是 COMMENT,它会移除序列的注释(如果存在)。

使用说明

  • 创建序列后,序列的第一个值/初始值无法更改。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

将序列 myseq 重命名为 newseq

ALTER SEQUENCE myseq RENAME TO newseq;
Copy

有关更多示例,请参阅 使用序列

语言: 中文