ALTER AGGREGATE

Name

ALTER AGGREGATE --  修改一个聚集函数的定义

Synopsis

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

聚集函数操作的输入数据类型。要引用一个零参数聚集函数,可以写入 *代替输入数据类型列表。

new_name

聚集函数的新名字。

new_owner

聚集函数的新所有者。

new_schema

聚集函数的新模式。

例子

把一个integer类型的聚集函数myavg重命名为 my_average

ALTER AGGREGATE myavg(integer) RENAME TO my_average;

To change the owner of the aggregate function myavg for type integer to joe:

ALTER AGGREGATE myavg(integer) OWNER TO joe;

把一个接受integer类型参数的聚集函数myavg的 所有者改变为joe

ALTER AGGREGATE myavg(integer) OWNER TO joe;

把一个integer类型的聚集函数myavg移 动到模式myschema里:

兼容性

SQL标准里没有ALTER AGGREGATE语句。

又见

CREATE AGGREGATE, DROP AGGREGATE