PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# 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`

  一个参数的模式：`IN`或`VARIADIC`。 如果省略了，缺省是`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

上一页 | 起始页 | 下一页
DO | 上一级 | DROP CAST