merge在Oracle中的用法注意问题
【样例】
MERGE INTO dest_table dest
USING source_table source
ON (sourcePENDINGCODE = destPENDINGCODE and sourcePENDINGPERSONID = destPENDINGPERSONID)
WHEN MATCHED THEN
UPDATE SET destPENDINGID = sourcePENDINGID
WHEN NOT MATCHED THEN
INSERT
VALUES
(sourcePENDINGID sourcePENDINGCODE sourcePENDINGTITLE sourcePENDINGDATE sourcePENDINGSENDER sourcePENDINGPERSONID sourcePENDINGURL sourcePANDINGSTATUS sourcePANDINGCITYCODE sourcePANDINGTYPE sourceNOTE);
【注意问题】
前提表dest_table和表source_table是同构的
on条件中不能出现primary key的属性列并且保证on的条件在业务上讲具有唯一性update时不能将primary key更新掉即只能以表的primary key作为update的set条件