Detta löses lättare än din tidigare fråga, eftersom vi inte får problem med dynamiska returtyper här. Du behöver bara sammanfoga frågesträngen korrekt innan du skickar den till EXECUTE
.
För ett nytt bord :
DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
Där myresult(...)
returnerar texten för en giltig SELECT
uttalande.
För att lägga till i en befintlig tabell :
...
EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) '
|| myresult('dkj_p_k27ac','enri');
...
Om du vet resultattypen för frågan matchar tabellen kan du utelämna listan med målkolumner.