作成したクロス集計テーブルからすべての column_names (cname1) を取得しています。これらの列名は何千もあるので、それらを組み合わせて配列にしました。次に、動的SQL(または機能するもの)を使用して、それらのcolumn_namesを使用して、同じクロス集計テーブルのレコードに基づいて配列を作成したいと考えています。エラーが発生し続けます:
ERROR: missing "LOOP" at end of SQL expression
.
CREATE OR REPLACE FUNCTION mffcu.test_ty_hey()
RETURNS setof record
LANGUAGE plpgsql
AS $function$
Declare
cname1 text;
Begin
for cname1 in select array_agg(column_name) as useme
from(
select column_name::text
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'crosstab_183'
and ordinal_position != 1
) as fin
join mffcu.crosstab_183 a on fin.id = a.id;
loop
sql2 ='select distinct array['|| columnname ||'] from mffcu.crosstab_183';
execute sql2;
end loop;
END;
$function$
なぜこのエラーが発生するのか、一生わかりません。