日期:2014-05-17  浏览次数:21040 次

[求助]一个批量插入语句的困扰!
下面这个语句是对的,可以选中一批数据,
select 
t.target_id, 
t.first_name, 
  l.DESCRIPTION, 
i.information_id
from 
targets t 
inner join
locations l 
on 
t.location_id= l.location_id
inner join
information i
on
t.target_id = i.target_id

;
我想把选中的这些数据插入另外一张表:
insert into targets_information
select 
t.target_id, 
t.first_name, 
  l.DESCRIPTION, 
i.information_id
from 
targets t 
inner join
locations l 
on 
t.location_id= l.location_id
inner join
information i
on
t.target_id = i.target_id

;

就报错了,错误提示是:  
l.DESCRIPTION,
  *

ERROR at line 5: 
ORA-01722: invalid number 

请问有高手帮我看看可能是什么问题么? 表的字段足够长了。



------解决方案--------------------
报的是无效数值啊,你是不是插入的有个字段是数值型的,而要插入的数据不是?
------解决方案--------------------
表targets_information的第三个字段是数字类型的,而你的l.DESCRIPTION可能是字符类型,所以报错.