Thanks for your response. However, I can't see my solution there. According to documentation, select into is supposed to create a new table. "Create table as " is offered as an alternative, but my table is already ready when I execute the statement.
Maybe it is my lack of understanding, but I can't see how the documentation helps to use eav_temp_table as a table name, rather than a variable.
On Tue, Dec 25, 2012 at 3:39 PM, David Johnston <polobo@xxxxxxxxx> wrote:
The documentation for "select into" covers this and provides your alternatives.
http://www.postgresql.org/docs/9.2/interactive/sql-selectinto.html
David J.
On Dec 25, 2012, at 10:20, Seref Arikan <serefarikan@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Greetings,
> I have a plpython function that returns a set of records. I loop over them to insert them into a temp table created by another function.
> I wanted to test
> select into temp_eav_table (column) select a.column from tbl as a where....
> approach to see if it performs better than the loop. However, I'm not able to compile the function due to an error that says "temp_eav_table is not a known variable"
>
> So the context assumes this is supposed to be a variable. If I try execute '...', then I have trouble passing a bytea parameter to the python function. This is what I have at the moment:
>
> SELECT INTO temp_eav_table (valstring,
> featuremappingid,
> featurename,
> rmtypename,
> actualrmtypename,
> path,
> pathstring)
> select selected_node.valstring,
> selected_node.featuremappingid,
> selected_node.featurename,
> selected_node.rmtypename,
> selected_node.actualrmtypename,
> selected_node.path,
> selected_node.pathstring
> from py_get_eav_rows_from_pb(payload ) as selected_node;
>
> any thoughts?
>
> Best regards
> Seref
>