oracle将A表的记录插入到B表中

我有表A、B,A表的所有字段B表都有,但B中有些字段是A表没有的,现在我想把A表有但B表没有的数据插入到B表,比如判断A、B表都有的字段FX_ID,如果A表中某条记录的FX_ID在B表已经存在,这条记录就不插入到B表中。写了好些都不行,有哪位可以帮帮忙呢?谢谢!

你把B表有但A表没有的字段约束都设置为允许NULL,之后用merge

merge into B
using A
on (A.列名=B.列名)
when matched then
update set B.列名2=A.列名2,B.列名3=A.列名3
when not matched then
insert values(A.列名,A.列名2,A.列名3)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-08
insert into b(col1,col2,col3....) select a.col1,a.col2,a.col3...
from a where not exists(select 1 from b where b.fx_id = a.fx_id)本回答被提问者和网友采纳