ORACLE 更新表数据10/11G UPDATE视图约束更新与MERGE多线程写法

-- ORACLE 更新表数据10G
UPDATE (SELECT /*+ BYPASS_UJVC */ 
A.SSXID, A.SSZ, A.SSZID FROM P_ZJ_CZDDW A, (SELECT C.ID, C.ND, C.SSQCODE, C.SSDD, C.SSDDCODE FROM P_ZJ_SJSB C WHERE C.DEL_FLAG = '0') B
WHERE A.FPID = B.ID AND A.ND = B.ND AND A.DEL_FLAG = '0'
) SET A.SSXID = B.SSQCODE, A.SSZ = B.SSDD, A.SSZID = B.SSDDCODE;
COMMIT;

-- ORACLE 更新表数据11G

MERGE /*+ PARALLEL */ INTO P_ZJ_CZDDW A
USING (SELECT ID, ND, SSQCODE, SSDD, SSDDCODE FROM P_ZJ_SJSB WHERE DEL_FLAG = '0') B
ON (A.FPID = B.ID AND A.ND = B.ND AND A.DEL_FLAG = '0')
WHEN MATCHED THEN
UPDATE SET A.SSXID = B.SSQCODE, A.SSZ = B.SSDD, A.SSZID = B.SSDDCODE;
COMMIT;

原文地址:https://www.cnblogs.com/Dream-Lasting/p/8991041.html