ALTER AGGREGATE
From PostgreSQL wiki
Jump to navigationJump to search名字
ALTER AGGREGATE -- 修改一个聚集函数的定义
语法概要
ALTER AGGREGATE name ( type [ , ... ] ) RENAME TO new_name ALTER AGGREGATE name ( type [ , ... ] ) OWNER TO new_owner ALTER AGGREGATE name ( type [ , ... ] ) SET SCHEMA new_schema
描述
ALTER AGGREGATE 改变一个聚集函数的定义。
要使用 ALTER AGGREGATE,你必须是该聚集函数的所有者。 要改变这个聚集函数的模式,你同时必须在更新的模式上具有 CREATE 权限。 要改变这个聚集函数的所有者,你同时也必须是更新的所有者角色的一个直接或者间接成员, 并且该角色必须在这个聚集函数的模式上具有 CREATE 权限。 (这强制限制在进行更改函数所有者的操作时,如果无法通过删除后重建的方式完成,那么就不能做任何事。 不过,超级用户可以用任何方法任意更改聚集函数的所有者。)
参数
- name
- 一个现有的聚集函数的名字(可以有模式修饰)。
- type
- 聚集函数操作的输入数据的数据类型。要表示某个0个参数的聚集函数,在输入类型列表中添 *。
- new_name
- 聚集函数的新名字。
- new_owner
- 聚集函数的新所有者。
- new_schema
- 聚集函数的新模式。
示例
把对 integer 类型进行聚集操作的 myavg 函数重命名为 my_average:To rename the aggregate function myavg for type integer to my_average:
ALTER AGGREGATE myavg(integer) RENAME TO my_average;
把对 integer 类型进行聚集操作的 myavg 函数的所有者变更为 joe:To change the owner of the aggregate function myavg for type integer to joe:
ALTER AGGREGATE myavg(integer) OWNER TO joe;
把对 integer 类型进行聚集操作的 myavg 函数移动到模式 myschema 里:To move the aggregate function myavg for type integer into schema myschema:
ALTER AGGREGATE myavg(integer) SET SCHEMA myschema;
兼容性
SQL 标准里面没有 ALTER AGGREGATE 语句。