SELECT .. INTO, aby utworzyć tabelę w PL / pgSQL

Chcę użyćSELECT INTO zrobić tymczasowy stół w jednej z moich funkcji.SELECT INTO działa w SQL, ale nie w PL / pgSQL.

Ta instrukcja tworzy tabelę o nazwie mytable (Iforig_table istnieje jako relacja):

SELECT *
INTO TEMP TABLE mytable
FROM orig_table;

Ale umieść tę funkcję w PostgreSQL, a otrzymasz błąd: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;

mogęSELECT INTO zmienna typurecord w PL / pgSQL, ale muszę zdefiniować strukturę podczas pobierania danych z tego rekordu.SELECT INTO jest naprawdę prosta - automatyczne tworzenie tabeli o tej samej strukturzeSELECT pytanie. Czy ktoś ma jakieś wyjaśnienie, dlaczego to nie działa wewnątrz funkcji?

To wygląda jakSELECT INTO działa inaczej w PL / pgSQL, ponieważ możesz wybrać zmienne, które zadeklarowałeś. Nie chcę jednak deklarować mojej tymczasowej struktury stołu. Chciałbym, aby po prostu utworzyć strukturę automatycznie, tak jak w SQL.

questionAnswers(1)

yourAnswerToTheQuestion