400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
更改一个序列发生器的定义。
ALTER SEQUENCE [ IF EXISTS ] name [INCREMENT [ BY ] increment]
[MINVALUE minvalue | NO MINVALUE]
[MAXVALUE maxvalue | NO MAXVALUE]
[START [ WITH ] start ]
[RESTART [ [ WITH ] restart] ]
[CACHE cache] [[ NO ] CYCLE]
[OWNED BY {table.column | NONE}]
ALTER SEQUENCE [ IF EXISTS ] name OWNER TO new_owner
ALTER SEQUENCE [ IF EXISTS ] name RENAME TO new_name
ALTER SEQUENCE [ IF EXISTS ] name SET SCHEMA new_schema
ALTER SEQUENCE 更改一个现有序列发生器的参数。任何没有被明确设置的参数在 ALTER SEQUENCE 命中,都要维持他们之前的设置。
用户必须拥有该序列才能使用 ALTER SEQUENCE。 要更改一个序列的模式,用户还必须拥有新模式上的 CREATE特权。 注意超级用户自动拥有所有的特权。
要改变所有者,用户必须是新角色的直接或者间接成员,而且新角色必须在序列的模式上拥有 CREATE 权限 (这些限制迫使更改所有者不能执行删除和重新创建序列所无法做的任何事情。 但是,超级用户仍然可以更改任何序列的所有权。)
name
IF EXISTS
increment
minvalue
NO MINVALUE
maxvalue
NO MAXVALUE
start
restart
new_owner
cache
CYCLE
NO CYCLE
OWNED BY table.column
OWNED BY NONE
new_name
new_schema
为了避免阻塞从同一序列中获取数字的并发事务,永远不会回滚 ALTER SEQUENCE 对序列生成参数的影响。 这些更改将立即生效,并且不可逆。 但是,OWNED BY, OWNER TO, RENAME TO 和 SET SCHEMA 子句是普通的目录更新,可以回滚。
ALTER SEQUENCE 不会立即影响除当前会话以外的具有预分配(缓存)序列值的会话中的 nextval() 结果。 在注意到更改的序列生成参数之前,它们将用尽所有缓存的值。 当前会话将立即受到影响。
由于历史原因, ALTER TABLE 也可以与序列一起使用。 但是序列允许的 ALTER TABLE 的唯一变体与上述形式等效。
重启一个被称为 serial 的序列在 105:
ALTER SEQUENCE serial RESTART WITH 105;
ALTER SEQUENCE 符合 SQL 标准,START WITH,OWNED BY,OWNER TO,RENAME TO和 SET SCHEMA 子句除外,它们是 YMatrix 数据库的扩展。