On 4/16/2012 4:11 PM, Tom Lane wrote:
Bill MacArthur<webmas...@dhs-club.com>  writes:
I have a view "configurations.tp_transactions" which is a blend of many tables using 
INNER and LEFT JOINs. I want to populate a temp table from which I can obtain the data and 
programmatically write queries to operate on that data using certain PLPGSQL functions in a uniform 
fashion. I have several functions which all expect a single argument of the type 
"configurations.tp_transactions".

I think you would need to create the temp table as a child of the main
table for this to work.  As you're doing it, the rowtype of the temp
table is independent of the main (and the fact that they happen to have
the same columns is NOT good enough to make it acceptable to a function
declared to take the main table's rowtype).

                        regards, tom lane


I have tried this but no go:
network=# create temp table chl() inherits (configurations.tp_transactions);
ERROR:  inherited relation "tp_transactions" is not a table

This does not work either:
network=> CREATE TEMP TABLE myt OF configurations.tp_transactions;
CREATE TABLE
network=> \d myt
              Table "pg_temp_11.myt"
    Column     |         Type         | Modifiers
---------------+----------------------+-----------
 id            | integer              |
<snip>
 amount        | numeric              |
 pp_value      | numeric              |
Typed table of type: configurations.tp_transactions

network=> insert into myt select * from configurations.tp_transactions where 
trans_id=920787;
INSERT 0 1

network=> select configurations.myself(myt.*) from myt;
ERROR:  function configurations.myself(myt) does not exist
LINE 1: select configurations.myself(myt.*) from myt;
               ^
HINT:  No function matches the given name and argument types. You might need to 
add explicit type casts.

network=> select configurations.myself(myt.*) from 
configurations.tp_transactions myt where trans_id=920787;
 myself
--------
     12
(1 row)

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to