oracle用一张表的字段更新另一张表的字段,该怎么解决

oracle用一张表的字段更新另一张表的字段例如:表Anamesyncid曲柳川UUID:6cf1f800-6c86-11e1-9a08-001f290c

oracle用一张表的字段更新另一张表的字段
例如:
表A
namesyncid
曲柳川UUID:6cf1f800-6c86-11e1-9a08-001f290c49e7
曲柳川UUID:6cf1f800-6c86-11e1-9a08-001f290c49e7
热电厂UUID:6d0cabf0-6c86-11e1-9a08-001f290c49e7
热电厂UUID:6d0cabf0-6c86-11e1-9a08-001f290c49e7
热电厂UUID:6d0cabf0-6c86-11e1-9a08-001f290c49e7
泡鹿沟UUID:6cec79c0-6c86-11e1-9a08-001f290c49e7
泡沿UUID:6ce88220-6c86-11e1-9a08-001f290c49e7
泡沿UUID:6ce88220-6c86-11e1-9a08-001f290c49e7
泡沿UUID:6ce88220-6c86-11e1-9a08-001f290c49e7
泡沿UUID:6ce88220-6c86-11e1-9a08-001f290c49e7
泡沿UUID:6ce88220-6c86-11e1-9a08-001f290c49e7
泡沿1UUID:6ceacc10-6c86-11e1-9a08-001f290c49e7
泡沿1UUID:6ceacc10-6c86-11e1-9a08-001f290c49e7
人民大药房(彩北店)UUID:6cb53d20-6c86-11e1-9a08-001f290c49e7
人民大药堂UUID:6d16be10-6c86-11e1-9a08-001f290c49e7
批发市场工商所UUID:6cbf7650-6c86-11e1-9a08-001f290c49e7

表B

namesyncid
曲柳川1
热电厂2
泡鹿沟3
泡沿4
泡沿15
人民大药房(彩北店)6
批发市场工商所7


把表B的syncid 更新成表A的syncid

[解决办法]
update 表B set syncid=(select distinct syncid from 表A where name=表B.name)
where exits (select 1 from 表A where name=表B.name)
[解决办法]

探讨

SQL code

MERGE INTO B
USING A
ON (A.NAME=B.NAME)
WHEN MATCHED THEN
UPDATE SET
B.syncid =A.syncid

可以常使用用merge,可以提高性能,不需要用exist