Re: Using Temporary Tables in postgres functions

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: Mario Splivalo <mario(dot)splivalo(at)mobart(dot)hr>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Using Temporary Tables in postgres functions
Date: 2007-01-25 16:03:51
Message-ID: 20070125080212.M1153@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, 25 Jan 2007, Mario Splivalo wrote:

> When I try to use TEMPORARY TABLE within postgres functions (using 'sql'
> as a function language), I can't because postgres can't find that
> temporary table. Consider this example:
>
> CREATE FUNCTION func1() RETURNS SETOF v_messages_full AS $BODY$
> CREATE TEMPORARY TABLE tmpTbl
> AS
> SELECT
> message_id
> FROM
> cached_messages
> WHERE
> billing_status = 2;
>
>
> UPDATE cached_messages SET billing_status = 1 WHERE message_id IN
> (SELECT message_id FROM tmpTbl);
>
> SELECT
> *
> FROM
> v_messages_full
> WHERE
> message_id IN (SELECT message_id FROM tmpTbl);
> $BODY$ LANGUAGE 'sql' VOLATILE SECURITY DEFINER;

It seems like the sql function checker is unhappy with the above. Does it
actually work if you turn off the check_function_bodies configuration
variable, create the function and then call it?

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2007-01-25 16:09:33 Re: Using Temporary Tables in postgres functions
Previous Message Andrew Sullivan 2007-01-25 16:00:38 Re: Using Temporary Tables in postgres functions