Re: INSERT INTO problem

Tom Jenkins <tjenkins@devis.com>

From: Tom Jenkins <tjenkins@devis.com>
To: pgsql-general@postgresql.org
Date: 2001-02-20T20:46:28Z
Lists: pgsql-general
Stephan Szabo wrote:

> On Tue, 20 Feb 2001, Tom Jenkins wrote:
> 
>> Hello all,
>> I'm trying to do an INSERT INTO using a UNION of two selects.  I 
>> received an error:
>>   "ERROR:  Unable to convert varchar to int2 for column isdepartment"
>> 
>> I started simplifying the INSERT INTO to help me get to the root cause.  
>> I removed the UNION and continued simplifying.
>> 
>> I eventually ended up with this line that still gives me the error:
>> insert into reportentity
>>    select 'D0'||text(departmentid) as reportentityid,
>>    departmentname as reportentityname,
>>    '1'::int2 as isdepartment,
>>    departmentdescription as reportentitydescription,
>>    departmentsummary as reportentitysummary
>> from department where isreportentity > 0;
> 
> 
> I do not believe that it uses the aliases you give to say which columns
> those are associated with.  I think you need to have the select items
> in the same order as the columns, so, it's erroring trying to convert
> a departmentsummary value to an int2.  Reordering the columns should
> help.

You are correct!  I rearranged the columns, matching the order of the 
table, and the INSERT INTO ... UNION... works now.

Thank you very much.

Tom Jenkins
devIS - Development Infostructure
http://www.devis.com