ここでは動的リターンタイプに問題がないため、これは前の質問よりも簡単に解決できます。 EXECUTE
。
新しいテーブルの場合 :
DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
ここでmyresult(...)
有効なSELECT
のテキストを返します ステートメント。
既存のテーブルに追加するには :
...
EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) '
|| myresult('dkj_p_k27ac','enri');
...
知っている クエリの結果タイプがテーブルと一致する場合は、ターゲット列のリストを省略できます。