copy from civil/civil@yzyb to gaoyou/gaoyou@hdb0 insert web_insctrlout (insid,accbal,openaccin,openaccout,accinamta,accoutamta) USING ( select insid,(accinamta+accinamtb+accinamtc+accinamtd+accinamte+accinamtf-accoutamta-accoutamtb-accoutamtc-accoutamtd-accoutamte-accoutamtf+openaccin-openaccout) as accbal,openaccin,openaccout,(accinamta+accinamtb+accinamtc+accinamtd+accinamte+accinamtf) as accinamta,(accoutamta+accoutamtb+accoutamtc+accoutamtd+accoutamte+accoutamtf) as accoutamta from INSCTRLOUT );说明:道理很简单,从yzyb的INSCTRLOUT 表中取数据,插入到hdb0中的insctrlout 表中;
表结构说明:两个insid类型一致,两个openaccout类型一致,两个openaccout类型也一致;sqlplus执行报错:
数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80) CPY0004: 源表与目标表的列名不匹配估计问题出在(accinamta+accinamtb+accinamtc+accinamtd+accinamte+accinamtf-accoutamta-accoutamtb-accoutamtc-accoutamtd-accoutamte-accoutamtf+openaccin-openaccout)这几个表达式的类型上。求高手指点。感激涕零。新手发帖,分不够可以加的说……
然后使用insert语句
create table WEB_INSCTRLOUT
(
INSID NUMBER(22) not null,
ACCBAL NUMBER,
OPENACCIN NUMBER(16,2),
OPENACCOUT NUMBER(16,2),
ACCIN NUMBER,
ACCOUT NUMBER
)
tablespace GAOYOUWEB
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table WEB_INSCTRLOUT
add constraint PK_WEB_INSCTRLOUT primary key (INSID)
using index
tablespace GAOYOUWEB
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
copy from civil/civil@yzyb to gaoyou/gaoyou@hdb0 insert web_insctrlout (insid,accbal,openaccin,openaccout,accinamta,accoutamta) 里面由于粗心,把ACCIN,ACCOUT写成了accinamta,accoutamta;
……
下班着急回家吃饭所致。。
刚才还试验了另一个办法:
在civil中建立一个与hdb0中web_insctrlout 表结构一样的表,吧加工好的数据insert into ...select ...问题也能解决,
结贴