Re: query ... returned 4 columns - Mailing list pgsql-general

From Tom Lane
Subject Re: query ... returned 4 columns
Date
Msg-id 7942.1173505366@sss.pgh.pa.us
Whole thread Raw
In response to Re: query ... returned 4 columns  (Sorin Schwimmer <sxn02@yahoo.com>)
List pgsql-general
Sorin Schwimmer <sxn02@yahoo.com> writes:
> Having the same structure, I put
> INSERT INTO archive.expected_stuff VALUES(o);
> but it doesn't work. Instead, I had to rewrite as
> INSERT ... VALUES (o.source,o.warehouse...);

Of course.  The former command implies that you are inserting a
composite value into a single composite-type column of expected_stuff,
which you are not.

The right way to express this IMHO is
    INSERT INTO archive.expected_stuff VALUES(o.*);
which should expand into the longhand notation "o.source,o.warehouse..."
in the same way that "SELECT o.* FROM ..." would do.  This does actually
work in 8.2 (and maybe 8.1, I forget).  In older releases you gotta
write it out longhand :-(

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Is This A Set Based Solution?
Next
From: Tom Lane
Date:
Subject: Re: Moving from 32 to 64 bit builds on Solaris