云数据库 GAUSSDB-CREATE AGGREGATE:示例

时间:2024-06-03 11:36:24

示例

--创建自定义函数。
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 sum_add(int)
(
    sfunc = int_add,
     
    stype = int,
    
    initcond = '0'
     
);

--创建测试表和添加数据。
gaussdb=# CREATE TABLE test_sum(a int,b int,c int);
gaussdb=# INSERT INTO test_sum VALUES(1,2),(2,3),(3,4),(4,5);

--执行聚集函数。
gaussdb=# SELECT sum_add(a) FROM test_sum;
   sum_add
-----------
   10

--删除聚集函数。
gaussdb=# DROP AGGREGATE sum_add(int);

--删除自定义函数。
gaussdb=# DROP FUNCTION int_add(int,int);

--删除测试表。
gaussdb=# DROP TABLE test_sum;
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0543.html