That fixed it. If you are ever in Albuquerque, NM., let me know. I'll be
happy to buy you a beer.
Mike.
On Monday 29 September 2008 05:26:43 pm Tom Lane wrote:
> Mike Diehl <mdiehl@diehlnet.com> writes:
> > For example, I'm trying to do this:
> >
> > insert into data
> > select cast('666' as integer) as block_number, phone as phone_number,
> > name from demo_q;
> >
> > When I run this query, I get:
> >
> > ERROR: column "block_number" is of type integer but expression is of
> > type character varying
>
> I don't get that ...
>
> I wonder whether the problem is that you are expecting the "as" labels
> in the SELECT to do something, like make the data go into the
> correspondingly named columns of the target table. But they don't do
> anything. This query is going to try to assign 666, phone, and name to
> the first three columns of "data", in order. I'll bet it is actually
> complaining about the second or third column, not the 666 at all.
>
> If that's it, the syntax you are looking for is
>
> insert into data (block_number, phone_number, name)
> select cast('666' as integer), phone_number, name
> from demo_q;
>
> regards, tom lane
--
Mike Diehl