9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

DROP AGGREGATE

名称

DROP AGGREGATE -- 删除一个聚合函数

大纲

DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [ CASCADE | RESTRICT ]

where aggregate_signature is:

* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]

描述

DROP AGGREGATE删除一个现存的聚合函数。执行这条命令的用户必须是该聚合函数的所有者。

参数

IF EXISTS

如果指定的聚合不存在,那么发出一个 notice 而不是抛出一个错误。

name

现存的聚合函数名(可以有模式修饰)

argmode

一个参数的模式:INVARIADIC。 如果省略了,缺省是IN

argname

一个参数的名字。请注意,DROP AGGREGATE 实际上并不注意参数名,因为只需要参数数据类型决定聚合函数的身份。

argtype

聚合函数操作的输入数据类型,要引用一个零参数聚合函数, 请用*代替参数声明列表。要引用一个有序集合的聚合函数, 在直接和聚合的参数声明中间写ORDER BY

CASCADE

级联删除依赖于这个聚合函数的对象

RESTRICT

如果有任何依赖对象,则拒绝删除这个聚合函数。这是缺省处理。

注意

可供参考的有序集聚合的替换语法在ALTER AGGREGATE中描述。

例子

integer类型的聚合函数myavg删除:

DROP AGGREGATE myavg(integer);

要删除假设集聚合函数myrank, 它接受一个直接参数的有序字段和匹配列表的任意列表:

DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");

兼容性

SQL 标准里没有DROP AGGREGATE语句。

又见

ALTER AGGREGATE, CREATE AGGREGATE
<
/BODY >