2023-11-15 03:20:18
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
orselect aa3('dd');fetch all in aa;CREATE OR REPLACE FUNCTION aa3(refcursor) RETURNS refcursor AS$BODY$declare sql varchar(1000); myrec record; ref refcursor;begin ref:='aa'; 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"'; open ref for execute sql; return ref; end;$BODY$LANGUAGE 'sql' VOLATILECOST 100;