-- 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;
本文介绍了两种在Oracle数据库中更新表数据的方法:一种是使用UPDATE语句结合子查询的方式;另一种是采用MERGE语句进行数据同步更新。这两种方法都实现了从一个表向另一个表同步特定字段的目的。
1万+

被折叠的 条评论
为什么被折叠?



