TEMPORARY TABLE in a PL/pgSQL function - Mailing list pgsql-novice

From Tjibbe
Subject TEMPORARY TABLE in a PL/pgSQL function
Date
Msg-id BAY13-DAV1CBB8F6F34CAEB793067FDD840@phx.gbl
Whole thread Raw
In response to Tranactions and viewing updated data  (Steve Tucknott <steve@retsol.co.uk>)
Responses Re: TEMPORARY TABLE in a PL/pgSQL function  (Oliver Elphick <olly@lfix.co.uk>)
List 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 by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: Currval function won't work
Next
From: Oliver Elphick
Date:
Subject: Re: TEMPORARY TABLE in a PL/pgSQL function