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;

把用于类型 integer 的聚集函数 myavg 的所有者改变为 joe

ALTER AGGREGATE myavg(integer) OWNER TO joe;

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

ALTER AGGREGATE myavg(integer) SET SCHEMA myschema;

兼容性

SQL 标准里面没有 ALTER AGGREGATE 语句。

又见

CREATE AGGREGATE, DROP AGGREGATE