Oracle两张表关联批量更新其中一张表的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle两张表关联批量更新其中一张表的数据相关的知识,希望对你有一定的参考价值。

方法一(推荐):

?

1
2
3
4
5
6
7
8
9
UPDATE 表2
  SET 表2.C =
     (SELECT B
       FROM 表1
      WHERE 表1.A = 表2.A)
 WHERE EXISTS
     (SELECT 1
       FROM 表1
      WHERE 表1.A = 表2.A);

尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围。

方法二:

?

1
2
3
4
5
6
MERGE INTO 表2
   USING 表1
    ON (表2.A = 表1.A)                    -- 条件是 A 相同
WHEN MATCHED
THEN
  UPDATE SET 表2.C = 表1.B                   -- 匹配的时候,更新


以上是关于Oracle两张表关联批量更新其中一张表的数据的主要内容,如果未能解决你的问题,请参考以下文章

oracle 想把三张表关联起来,怎么关联?

oracle通过两张表更新一张表

Oracle两张表关联中间表查询,那张关联到数据就显示,关联不到就负空值

MYSQL中两张表,怎么使用关联查询?

oracle中怎么如何把两张表中查询到的数据求和,

怎样将oracle中某一张表的数据导出为dmp文件