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條件
From:http://tw.wingwit.com/Article/program/Oracle/201311/18352.html