我在单个数据库中有两个模式。
rxdata(一个新的架构)
fbdata
表名 - kostst(成本中心)
列名 - kst_id(成本中心ID)
列名 - kst_name(成本中心名称)
我想将表格kostst
中的所有数据从rxdata
插入到kostst.fbdata
。
当我执行下面的命令时,我得到了这个,我知道两个模式中存在类似的ID(kst_id = 1& 2)
SQL> insert into rxdata.kostst select * from fbdata.kostst;
insert into rxdata.kostst select * from fbdata.kostst
*
ERROR at line 1:
ORA-00001: unique constraint (RXDATA.SYS_C0070558) violated
SQL> select table_name,column_name from user_cons_columns where constraint_name=
'SYS_C0070558';
TABLE_NAME COLUMN_NAME
------------ ------------
KOSTST KST_ID
答案 0 :(得分:0)
如果只想插入不存在的行,可以使用:
insert into rxdata.kostst
select *
from fbdata.kostst f
where not exists (select null
from rxdata.kostst r
where r.kst_id = f.kst_id)
如果您想完全替换表R
的表格F
,我建议改为TRUNCATE+INSERT
或DELETE+INSERT
。