merge在Oracle中的用法注意问题:
【样例】
MERGE INTO dest_table dest
USING source_table source
ON (source.PENDINGCODE = dest.PENDINGCODE and source.PENDINGPERSONID = dest.PENDINGPERSONID)
WHEN MATCHED THEN
UPDATE SET dest.PENDINGID = source.PENDINGID
WHEN NOT MATCHED THEN
INSERT
VALUES
(source.PENDINGID, source.PENDINGCODE, source.PENDINGTITLE, source.PENDINGDATE, source.PENDINGSENDER, source.PENDINGPERSONID, source.PENDINGURL, source.PANDINGSTATUS, source.PANDINGCITYCODE, source.PANDINGTYPE, source.NOTE);
【注意问题】
1、前提:表dest_table和表source_table是同构的;
2、on条件中不能出现primary key的属性列,并且保证on的条件在业务上讲具有唯一性;3、update时,不能将primary key更新掉,即只能以表的primary key作为update的set条件;
责任编辑:小草