27,579
社区成员
发帖
与我相关
我的任务
分享
INSERT INTO t_item
( fname ,
fnumber ,
fdetail ,
flevel ,
fparentid ,
fitemclassid
)
SELECT fname ,
fnumber ,
1 ,
3 ,
0 ,
4
FROM temp1
WHERE fnumber LIKE '014.01.%'
AND NOT EXISTS ( SELECT 1
FROM t_item
WHERE 主键列 = temp1.主键列 );
如果是主键不重复的,进行插入操作,有主键重复的进行更新操作,可以用MERGE ,类似这样:
MERGE INTO t_item AS a
USING temp1 AS b
ON a.主键 = b.主键
WHEN MATCHED THEN
UPDATE SET
a.fname = b.fname --...等等其他对应更新列
WHEN NOT MATCHED THEN
INSERT
VALUES ( b.主键, b.fname ); --.....等等其他插入字段;
select * from temp1
where fnumber in (select fnumber from people group by temp1 having count(fnumber) > 1)
用这个语句可以查出来这些重复的fnumber 。你的主键是fnumber 吗