GaussDB-DROP AGGREGATE
功能描述
删除一个聚集函数。
注意事项
DROP AGGREGATE删除一个现存的聚集函数,执行这条命令的用户必须是该聚集函数的所有者。
语法格式
DROP AGGREGATE [ IF EXISTS ] name ( argtype [ , ... ] ) [ CASCADE | RESTRICT ];
参数说明
-
IF EXISTS
如果指定的聚集函数不存在,会产生一个NOTICE提示,但不会产生一个错误。
-
name
现存的聚集函数名(可以有模式修饰)。
-
argtype
聚集函数操作的输入数据类型,要引用一个零参数聚集函数,请用*代替输入数据类型列表。
-
CASCADE
级联删除依赖于这个聚集函数的对象。
-
RESTRICT
如果有任何依赖对象,则拒绝删除这个聚集函数。这是缺省处理。
示例
-- 创建自定义函数。
gaussdb=# CREATE OR REPLACE FUNCTION int_add(int,int)
RETURNS int AS $BODY$
DECLARE
BEGIN
RETURN $1 + $2;
END;
$BODY$ language plpgsql;
-- 创建聚集函数。
gaussdb=# CREATE AGGREGATE myavg (int)
(
sfunc = int_add,
stype = int,
initcond = '0'
);
--将int类型的聚集函数myavg删除。
gaussdb=# DROP AGGREGATE myavg(int);
-- 删除自定义函数。
gaussdb=# DROP FUNCTION int_add(int,int);
相关链接
ALTER AGGREGATE,CREATE AGGREGATE
兼容性
SQL 标准里没有DROP AGGREGATE语句。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…