TEMPORARY TABLE in a PL/pgSQL function

Поиск
Список
Период
Сортировка
От Tjibbe
Тема TEMPORARY TABLE in a PL/pgSQL function
Дата
Msg-id BAY13-DAV1CBB8F6F34CAEB793067FDD840@phx.gbl
обсуждение исходный текст
Ответ на Tranactions and viewing updated data  (Steve Tucknott <steve@retsol.co.uk>)
Ответы Re: TEMPORARY TABLE in a PL/pgSQL function  (Oliver Elphick <olly@lfix.co.uk>)
Список pgsql-novice
CREATE OR REPLACE FUNCTION test_temp_table() RETURNS void AS $$
BEGIN
CREATE TABLE temp_table AS SELECT * FROM objects;
PERFORM * FROM temp_table;  -- without this line no problems
DROP TABLE temp_table;
RETURN;
END
$$ LANGUAGE plpgsql;

SELECT test_temp_table();
SELECT test_temp_table();


Why can't I execute this function twice in the same database connection?

I get the following error:

ERROR:  relation with OID 169873 does not exist
CONTEXT:  SQL statement "SELECT  * FROM temp_table"
PL/pgSQL function "test_temp_table" line 4 at perform



В списке pgsql-novice по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Currval function won't work
Следующее
От: Oliver Elphick
Дата:
Сообщение: Re: TEMPORARY TABLE in a PL/pgSQL function