CREATE OR REPLACE FUNCTION aa8()
RETURNS SETOF record AS
$BODY$
declare
sql varchar(1000);
myrec record;
ref refcursor;
rec record;
begin
sql:='select "CustomerId" ';
for myrec in select * from "Cus_Field" loop
sql := sql || ',max(case "FieldId" when ' || myrec."FieldId" ||
' then "FieldValue" end) as ' || myrec."FieldName";
end loop ;
sql := sql || ' from "Cus_CustomerField" group by "CustomerId"';
FOR rec IN execute SQL Loop
RETURN NEXT rec;
END LOOP;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION aa8() OWNER TO zw;