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

Posted

tags:

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

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

方法一(推荐):

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条件尤为重要,是锁定其批量更新数据的范围。

方法二:

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文件