SELECT .. INTO para criar uma tabela em PL / pgSQL

Eu quero usarSELECT INTO fazer uma tabela temporária em uma das minhas funções.SELECT INTO funciona em SQL, mas não em PL / pgSQL.

Esta declaração cria uma tabela chamada mytable (seorig_table existe como uma relação):

SELECT *
INTO TEMP TABLE mytable
FROM orig_table;

Mas coloque essa função no PostgreSQL e você receberá o erro:ERROR: "temp" is not a known variable

CREATE OR REPLACE FUNCTION whatever()
RETURNS void AS $
BEGIN
    SELECT *
    INTO TEMP TABLE mytable
    FROM orig_table;
END; $ LANGUAGE plpgsql;

eu possoSELECT INTO uma variável do tiporecord dentro do PL / pgSQL, mas depois eu tenho que definir a estrutura quando obtenho dados daquele registro.SELECT INTO é realmente simples - criando automaticamente uma tabela da mesma estrutura doSELECT inquerir. Alguém tem alguma explicação sobre por que isso não funciona dentro de uma função?

Parece queSELECT INTO funciona de forma diferente em PL / pgSQL, porque você pode selecionar as variáveis ​​que você declarou. Eu não quero declarar minha estrutura de tabela temporária, no entanto. Eu gostaria que apenas criassem a estrutura automaticamente como no SQL.

questionAnswers(1)

yourAnswerToTheQuestion