【发布时间】:2012-06-25 05:35:16
【问题描述】:
我必须管理两个表中的列之间存在细微差别。但我认为那是次要的。
表Source具有三个属性
Amount NUMBER(10,2)
SHORTNAME VARCHAR2(3)
NAME VARCHAR2(40)
表 Target 具有相同的属性集,但对它们的类型的约束略有不同
Amount NUMBER
SHORTNAME VARCHAR2(255)
NAME VARCHAR2(255)
我认为表 Target 应该对其容量有更大的容忍度,但是当我运行查询时
insert into DB_B.Target select * from DB_A.Source ;
不幸的是,我收到了流行的 01722 错误:
SQL 错误:ORA-01722:无效号码 -- 01722. 00000 - “无效号码”
所以当我们说从具有相同架构的两个表中复制数据时,我们是在谈论 100% IDENTICAL 即使在 TYPE CONSTRAINT 上?
请帮忙。
更新
在雷雨打到办公室之前,不得不提一下两张桌子上的列顺序是不同的。感谢@a_horse_with_no_name 帮助我思考这个问题并给出完美的答案。
【问题讨论】: