Isso é resolvido mais facilmente do que sua pergunta anterior, porque não temos problemas com tipos de retorno dinâmicos aqui. Você só precisa concatenar a string de consulta corretamente antes de passá-la para
EXECUTE
. Para uma nova tabela :
DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
Onde
myresult(...)
retorna o texto para um SELECT
válido declaração. Para adicionar a uma tabela existente :
...
EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) '
|| myresult('dkj_p_k27ac','enri');
...
Se você sabe o tipo de resultado da consulta corresponde à tabela, você pode omitir a lista de colunas de destino.