0

作成したクロス集計テーブルからすべての 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$

なぜこのエラーが発生するのか、一生わかりません。

4

1 に答える 1