insert from a select

From: John Fabiani <johnf(at)jfcomputer(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: insert from a select
Date: 2010-11-25 00:07:43
Message-ID: 201011241607.43378.johnf@jfcomputer.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Adrian Klaver 2010-11-25 00:25:15 Re: insert from a select
Previous Message Tom Lane 2010-11-24 21:21:10 Re: atomic multi-threaded upsert