更新时间:2024-06-03 GMT+08:00

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

兼容性

SQL 标准里没有DROP AGGREGATE语句。