ALTER AGGREGATE

Name

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

Synopsis

ALTER AGGREGATE name ( argtype [ , ... ] ) RENAME TO new_name
ALTER AGGREGATE name ( argtype [ , ... ] ) OWNER TO new_owner
ALTER AGGREGATE name ( argtype [ , ... ] ) SET SCHEMA new_schema

描述

ALTER AGGREGATE更改一个聚集函数的定义。

你必须要拥有要对其使用ALTER AGGREGATE的聚集函数。要更改一个聚集函数的模式,你还必须具有在新模式上的CREATE特权。要改变所有者,你也必须是新拥有角色的一个直接或间接成员,并且该角色必须具有在该聚集函数的模式上的CREATE特权(这些限制强制要求拥有者不能通过丢弃并重建该聚集函数来做任何你不能做的事情。不过,一个超级用户可以更改任何聚集函数的所有权)。

参数

name

一个现有聚集函数的名称(可以是模式限定的)。

argtype

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

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