要自行定义聚集函数这么巧,我以前定义过
1、现建立一个函数 GET_FIRST
CREATE OR REPLACE FUNCTION "get_first" ("pg_catalog"."anyelement", "pg_catalog"."anyelement") RETURNS "pg_catalog"."anyelement" AS
$body$
SELECT $1;
$body$
LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;2, 再建立聚集函数FIRST
CREATE AGGREGATE "first" ( BASETYPE = "anyelement",
SFUNC = "get_first", STYPE = "anyelement");

解决方案 »

  1.   

    我把get_first用Pl/sql写:
    CREATE OR REPLACE FUNCTION "public"."get_first"
    ("pg_catalog"."anyelement","pg_catalog"."anyelement") RETURNS varchar AS'
    DECLARE
    BEGIN
         SELECT $1;
    END;
    'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;可是提示:
    ERROR:  Type "pg_catalog.anyelement" does not exist我的环境是: PostgreSQL 7.3.2 on i386-redhat-linux-gnu, compiled by GCC i386-redhat-linux-gcc (GCC) 3.2.2 20030213 (Red Hat Linux 8.0 3.2.2-1)
      

  2.   

    直接运行你写的get_first,提示:
    ERROR:  parser: parse error at or near "$" at character 132