ALTER 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
参数¶
name
指定要更改的序列的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
有关标识符的更多详细信息,请参阅 标识符要求。
RENAME TO new_name
指定序列的新标识符;对于架构必须是唯一的。
有关标识符的更多详细信息,请参阅 标识符要求。
可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定
new_name
值,该值分别以db_name.schema_name.object_name
或schema_name.object_name
的形式包含新数据库和/或架构名称。备注
目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。
除非 对象所有者(即拥有对象 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。
重命名对象时,引用该对象的其他对象必须使用新名称进行更新。
SET...
指定要为序列设置的属性:
[ INCREMENT [ BY ] sequence_interval ]
指定序列的步进间隔:
对于正序列间隔
n
,接下来的n-1
个值由每个序列调用保留。对于负序间隔
-n
,接下来的n-1
个较低值由每个序列调用保留。
支持的值是可以用 64 位二进制补码整型表示的任何非零值。
{ ORDER | NOORDER }
指定是否按 升序 为序列生成值。
ORDER 指定了为序列或自动递增列生成的值按升序排列(如果间隔为负值,则按降序排列)。
例如,如果序列或自动递增的列具有
START 1 INCREMENT 2
,生成的值可能是1
、3
、5
、7
、9
等。NOORDER 指定不保证值按递增顺序排列。
例如,如果序列中有
START 1 INCREMENT 2
,生成的值可能是1
、3
、101
、5
、103
等。NOORDER 可以在同时执行多个 INSERT 操作时提高性能(例如,在多个客户端执行多个 INSERT 语句时)。
备注
如果序列设置为 NOORDER,则不能将序列更改为 ORDER。
COMMENT = 'string_literal'
添加注释或覆盖序列的现有注释。
UNSET ...
指定要取消设置序列的属性,这会将其重置为默认值。
目前,唯一可以取消设置的属性是 COMMENT,它会移除序列的注释(如果存在)。
使用说明¶
创建序列后,序列的第一个值/初始值无法更改。
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
将序列 myseq
重命名为 newseq
:
ALTER SEQUENCE myseq RENAME TO newseq;
有关更多示例,请参阅 使用序列。