See the FAQ on creating temp objects in functions ... use EXECUTE.
---------------------------------------------------------------------------
Itai Zukerman wrote:
> > This seems to not be possible is plpgsql:
> >
> > SELECT DISTINCT A.x INTO TEMP X FROM A,B WHERE A.x=B.x;
> >
> > Is there some way to create a temporary table in plpgsql?
>
> Just to clarify, this sort-of works HOWEVER:
>
> SELECT count(*) FROM X;
> DROP X;
>
> The first time through the plpgsql the SELECT is fine. Further times
> it complains:
>
> ERROR: pg_class_aclcheck: relation 8845807 not found
>
> I guess it doesn't like dealing with a different X. Should I use
> FOR-IN-EXECUTE? That seems ugly...
>
> --
> Itai Zukerman <http://www.math-hat.com/~zukerman/>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073