暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Halo数据之SQL命令--DROP AGGREGATE

冷狼 2024-04-25
61

DROP AGGREGATE

DROP AGGREGATE — 移除一个聚集函数

 

大纲

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

这里aggregate_signature是:

* |

[ argmode ] [ argname ] argtype [ , ... ] |

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

 

描述

DROP AGGREGATE移除一个现有的聚集函数。要执行这个命令,当前用户必须是该聚集函数的拥有者。

 

参数

IF EXISTS

如果该聚集不存在则不要抛出一个错误,而是发出一个提示。

 

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");

 

要在一个命令中删除多个聚合函数:

DROP AGGREGATE myavg(integer), myavg(bigint);

 

另见

ALTER AGGREGATE, CREATE AGGREGATE

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论