繁体   English   中英

在将数据从一个用户插入到另一个用户时,如何使哪一列的数据类型不匹配以及ORA-01722无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM