[英]How to invalidate that which column having data type mismatch and also ORA-01722 while insert data into table from one user to another
我在一个用户中有一些记录的表,而另一个表中有空记录。 我想将该表的数据从一个用户迁移到另一个 用户 ,但遇到一个错误ORA:01722,因为目标表的数据类型略有不匹配。 我应该怎么做才能解决此问题而不更改数据类型。 源表的数据类型是-
目标表的说明-
在不同用户的两个表中,只有一列是不匹配的数据类型LOTFRONTAGE 。 在源表中,数据类型为varchar2 ,在目标表中,数据类型为Number 。 如何使具有数据类型不匹配的列无效
当我使用此SQL查询插入数据时
insert into md.house(ID,MSSUBCLASS,MSZONING,
CAST(LOTFRONTAGE AS VARCHAR2(15)),LOTAREA,LOTSHAPE,LOTCONFIG,
NEIGHBORHOOD,CONDITION1,BLDGTYPE,OVERALLQUAL,
YEARBUILT,ROOFSTYLE,EXTERIOR1ST,MASVNRAREA)
select ID,MSSUBCLASS,MSZONING,LOTFRONTAGE,
LOTAREA,LOTSHAPE,LOTCONFIG,NEIGHBORHOOD,CONDITION1,
BLDGTYPE,OVERALLQUAL,YEARBUILT,ROOFSTYLE,
EXTERIOR1ST,MASVNRAREA from SYS.HOUSE_DATA;
然后我得到一个错误
ORA-00917: comma missing
您可以尝试以下方法:
INSERT INTO 2ndTable (ID,...,LOTFRONTAGE,....MASVNAREA)
SELECT ID,...,to_number(LOTFRONTAGE),....MASVNAREA
FROM 1stTable;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.