plpgsql 関数で動的選択クエリを使用して配列を作成しようとしています。残念ながら、構文エラーが発生します。
ERROR: syntax error at or near "EXECUTE"
ZEILE 19: SELECT DISTINCT INTO outputIdsToDelete ARRAY( EXECUTE findA...
^
誰か助けてくれませんか?関数自体は次のとおりです。
関数の作成または置換 deleteMAPPINGs( mapTable1_key テキスト、mapping_table テキスト、mapTable2_key テキスト、 table2 テキスト、table2_key テキスト、 inputIdsToDelete bigint[]) RETURNS bigint[] AS $本文$ 宣言する outputIdsToDelete bigint[]; findAllQuery テキスト; findUnreferencedQuery テキスト; 始める findAllQuery := 'SELECT DISTINCT' || mapTable2_key || ' から ' || マッピングテーブル || ' どこ ' || mapTable1_key || ' = ANY(inputIdsToDelete)'; findUnreferencedQuery := 'SELECT DISTINCT' || table2_key || -- 未使用を見つける ' から ' || テーブル2 || ' どこ ' || table2_key || ' ではありません (' || 'SELECT DISTINCT' || mapTable2_key || -- すべて使用済み ' から ' || マッピングテーブル || ')'; SELECT DISTINCT INTO outputIdsToDelete ARRAY( EXECUTE findAllQuery ); マッピングテーブルのどこからでも削除 mapTable1_key = ANY(inputIdsToDelete) AND mapTable2_key = ANY(outputIdsToDelete); SELECT DISTINCT INTO outputIdsToDelete --未使用で上書き ARRAY(EXECUTE findUnreferencedQuery); RETURN outputIdsToDelete; 終わり; $本文$ LANGUAGE plpgsql 揮発性 コスト 100;