Postgresql 中文操作指南
Synopsis
DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]
where aggregate_signature is:
* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
Parameters
-
IF EXISTS
-
如果聚合函数不存在,请不要抛出错误。在这种情况下,会发出 notice。
-
-
name
-
现有聚合函数的名称(可选模式限定)。
-
-
argmode
-
参数的模式: IN 或 VARIADIC 。如果省略,则默认为 IN 。
-
-
argname
-
参数的名称。请注意, DROP AGGREGATE 实际上不关注参数名称,因为只根据参数数据类型即可确定聚合函数标识。
-
-
argtype
-
聚合函数在上面操作的输入数据类型。要引用一个零参数聚合函数,请在参数规格列表中写 * 。要引用一个有序集聚合函数,请在直接和聚合参数规格写 ORDER BY 。
-
-
CASCADE
-
自动删除依赖于聚合函数的对象(例如使用它的视图),并依次删除所有依赖于这些对象的(参见 Section 5.14 )。
-
-
RESTRICT
-
如果任何对象依赖于聚合函数,则拒绝删除聚合函数。这是默认设置。
-
Notes
有关引用有序集聚合的替代语法,请参见 ALTER AGGREGATE 。
Examples
要为类型 integer 删除聚合函数 myavg :
DROP AGGREGATE myavg(integer);
要删除假想集聚合函数 myrank ,该函数使用任意排序的列列表和匹配的直接参数列表:
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
要在单个命令中删除多个聚合函数:
DROP AGGREGATE myavg(integer), myavg(bigint);