To je vyřešeno snadněji než vaše předchozí otázka, protože zde nemáme problémy s dynamickými typy návratů. Stačí správně zřetězit řetězec dotazu, než jej předáte do EXECUTE
.
Pro novou tabulku :
DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
Kde myresult(...)
vrátí text pro platný SELECT
prohlášení.
Pro přidání do existující tabulky :
...
EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) '
|| myresult('dkj_p_k27ac','enri');
...
Pokud víte typ výsledku dotazu odpovídá tabulce, můžete vynechat seznam cílových sloupců.