ALTER SEQUENCE
功能描述
修改一个现有的序列的参数。
注意事项
- 使用ALTER SEQUENCE的用户必须是该序列的所有者。
- 当前版本仅支持修改拥有者和归属列。若要修改其他参数,可以删除重建,并用Setval函数恢复当前值。
语法格式
修改序列归属列
1 2 | ALTER SEQUENCE [ IF EXISTS ] name [ OWNED BY { table_name.column_name | NONE } ] ; |
修改序列的拥有者
1 | ALTER SEQUENCE [ IF EXISTS ] name OWNER TO new_owner; |
参数说明
- name
将要修改的序列名称。
- IF EXISTS
当序列不存在时使用该选项不会出现错误消息,仅有一个通知。
- OWNED BY
将序列和一个表的指定字段进行关联。这样,在删除那个字段或其所在表的时候会自动删除已关联的序列。
如果序列已经和表有关联后,使用这个选项后新的关联关系会覆盖旧的关联。
关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。
使用OWNED BY NONE将删除任何已经存在的关联。
- new_owner
序列新所有者的用户名。用户要修改序列的所有者,必须是新角色的直接或者间接成员,并且那个角色必须有序列所在模式上的CREATE权限。
示例
1 2 3 4 5 6 7 8 9 10 11 12 | --创建一个名为serial的递增序列,从101开始。 CREATE SEQUENCE serial START 101; --创建一个表,定义默认值。 CREATE TABLE T1(C1 bigint default nextval('serial')); --将序列serial的归属列变为T1.C1。 ALTER SEQUENCE serial OWNED BY T1.C1; --删除序列 DROP SEQUENCE serial cascade; DROP TABLE T1; |
相关链接
CREATE SEQUENCE,DROP SEQUENCE
查看更多:华为GaussDB 200 SQL语法
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




