zj_nb1.T_CL_SCCJ中的id中有的已经在T_EQUIPMENT_FACTORY 表中存在,检查一下,select count(*) from T_EQUIPMENT_FACTORY a,zj_nb1.T_CL_SCCJ b where a.id=b.cj_id
insert into T_EQUIPMENT_FACTORY (ID,NAME) SELECT CJ_ID,CJ_MC FROM zj_nb1.T_CL_SCCJ A WHERE NOT EXISTS ( SELECT 'X' FROM zj_nb1.T_CL_SCCJ B WHERE B.CJ_ID = A.CJ_ID)
你的目标表中间已经有了你即将插入的数据,至少是与你将插入的数据使用的ID相同的数据,所以提示你插入错误.插入时避免插入这样的数据可以回避这个错误. 另: 你可以在插入之前用:select CJ_ID,CJ_MC from zj_nb1.T_CL_SCCJ where CJ_ID in(select id from T_EQUIPMENT_FACTORY )查出目标表中与源表中ID相同的数据
SELECT CJ_ID,CJ_MC
FROM zj_nb1.T_CL_SCCJ A
WHERE NOT EXISTS ( SELECT 'X' FROM zj_nb1.T_CL_SCCJ B WHERE B.CJ_ID = A.CJ_ID)
另:
你可以在插入之前用:select CJ_ID,CJ_MC from zj_nb1.T_CL_SCCJ where CJ_ID in(select id from T_EQUIPMENT_FACTORY )查出目标表中与源表中ID相同的数据