Ini diselesaikan lebih mudah daripada pertanyaan Anda sebelumnya, karena kami tidak mendapat masalah dengan jenis pengembalian dinamis di sini. Anda hanya perlu menggabungkan string kueri dengan benar sebelum meneruskannya ke EXECUTE
.
Untuk tabel baru :
DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
Dimana myresult(...)
mengembalikan teks untuk SELECT
. yang valid pernyataan.
Untuk menambahkan ke tabel yang ada :
...
EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) '
|| myresult('dkj_p_k27ac','enri');
...
Jika Anda tahu jenis hasil kueri cocok dengan tabel, Anda dapat menghilangkan daftar kolom target.