Re: insert from a select - Mailing list pgsql-sql

From Carla
Subject Re: insert from a select
Date
Msg-id AANLkTimqWUCF64hAqaCzp-kgVUhU=YSR-FYnbF6t+Swc@mail.gmail.com
Whole thread Raw
In response to Re: insert from a select  (Carla <cgourofino@hotmail.com>)
Responses Re: insert from a select  (John Fabiani <johnf@jfcomputer.com>)
List pgsql-sql
Sorry. I forgot some columns:

insert into tempclass (pkid, depart, sessionid, instrid, classeq, facility, schedule)
Select cl.pkid, cl.depart, cl.sessionid, cl.instrid,
cl.classseq,(select facility from esloc where esloc.pkid = cl.locationid) as
facility, cl.schedule from esclass cl where cl.pkid in (14507,14508)

2010/11/25 Carla <cgourofino@hotmail.com>
Try to explicit the column names. Something like:

insert into tempclass (pkid, depart, sessionid, instrid)

Select cl.pkid, cl.depart, cl.sessionid, cl.instrid,
cl.classseq,(select facility from esloc where esloc.pkid = cl.locationid) as
facility, cl.schedule from esclass cl where cl.pkid in (14507,14508)

2010/11/24 John Fabiani <johnf@jfcomputer.com>

Hi,
 I have a strange issue that is mostly likely me not understanding something.
I always thought that an insert statement would accept any select statement.
I'm guessing I am wrong.

I have created a temporary table ("tempclass") that is exact match to an
existing table ('esclass').

When I attempt to do the following
insert into tempclass Select cl.pkid, cl.depart, cl.sessionid, cl.instrid,
cl.classseq,(select facility from esloc where esloc.pkid = cl.locationid) as
facility, cl.schedule from esclass cl where cl.pkid in (14507,14508)

I get the following error:

ERROR:  column "schedule" is of type date but expression is of type character
varying
LINE 1: ... cl.depart, cl.sessionid, cl.instrid, cl.classseq,(select fa...
                                                            ^
HINT:  You will need to rewrite or cast the expression.

The error makes no sense to me.  But most important if I just run the select
statement it works perfectly.

Like I said the table "tempclass" (a temporary) is a dup of table "esclass" so
none of it makes sense.  Of course I did say I'm missing something.

So why isn't the select statement working with the insert?

Johnf





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



pgsql-sql by date:

Previous
From: Carla
Date:
Subject: Re: insert from a select
Next
From: John Fabiani
Date:
Subject: Re: insert from a select