`

Oracle 关联两表写update语句

 
阅读更多
两种方法:


-- 方法1.
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)

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

eg
update c_mp mp set mp.mp_no =(SELECT  t3.f1  FROM  qw_dr_temp t3  WHERE   t3.f4 = mp.mp_id)
WHERE EXISTS ( SELECT  t4.f1  FROM  qw_dr_temp t4 where t4.f4 =mp.mp_id)
分享到:
评论

相关推荐

    ORACLE多表关联的update语句

    总结,Oracle的多表关联UPDATE语句是一种强大的工具,能够有效处理跨表的数据更新需求,确保数据的一致性和准确性。在实际应用中,应根据业务逻辑和数据关系选择最适合的更新方法,并进行充分的测试以确保其正确性和...

    ORACLE_多表关联_UPDATE_语句

    Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...

    update语句的优化-oracle .pdf

    当需要更新操作涉及两表关联,并且被更新的表是通过关联表的主键进行关联的,可以采用inline view更新法。在这种方法中,利用子查询来获取需要更新的字段值。例如: ```sql UPDATE ( SELECT a.customer_type AS ...

    ORACLE_UPDATE_语句语法与性能分析

    2) **两表关联UPDATE**: 在这种形式中,我们使用EXISTS子句与一个临时表(tmp_cust_city)进行关联。这允许我们仅更新那些在临时表中存在的记录。这种方式更安全,因为它不会误更新不匹配的数据。同时,由于我们只...

    Oracle中多表关联批量插入批量更新与批量删除操作

    在Oracle中,如果两个或多个表之间存在关联,比如`emp`表和`dept`表通过`deptno`字段关联,批量插入数据时需要确保关联关系的一致性。例如,插入`emp`表时,`deptno`字段应引用已存在于`dept`表中的`deptno`。可以先...

    oracle的update的五种方式

    这种方式可以同时执行更新和插入操作,但写法比较繁琐,并且最多只能两个表关联,复杂的语句用 Merge 更新法将力不从心且效率差。 四、游标更新法 游标更新法是使用游标来遍历数据并执行更新操作,语法为:`BEGIN ...

    ORACLE UPDATE 语句语法与性能分析看法

    ### ORACLE UPDATE 语句语法与性能分析 #### 引言 在数据库管理与操作中,`UPDATE`语句是SQL语言中极为重要的组成部分,它允许我们修改已存在的记录,从而保持数据的时效性和准确性。Oracle数据库作为企业级应用中...

    oracle两表关联更新Demo

    #### 一、Oracle关联更新概述 在Oracle数据库中,进行数据更新操作时,有时需要根据另一个表中的数据来更新当前表的数据,这就是所谓的“关联更新”。关联更新通常用于保持两个或多个表之间的一致性,确保数据的...

    数据库oracle for update of和for update的区别

    由于会话A已经锁定了`emp`表中的`sal`列,因此会话B尝试锁定`dept`表时会等待3秒,但因为两个表之间没有直接的关联(除了通过`deptno`),所以B的请求不会受到影响,最终能够成功执行。但如果会话B尝试锁定`emp`表中...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...

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

    本文将详细介绍两种方法,用于在Oracle中实现两张表关联批量更新其中一张表的数据。 方法一(推荐): 这种方法利用了子查询和`EXISTS`子句。首先,我们在`SET`子句中创建一个子查询,从表1中选取需要的值(B列)来...

    Oracle_基本建表语句

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的功能来创建、管理及操作各种数据库对象,如表、索引、视图等。本文将详细介绍Oracle的基本建表语句及相关操作。 首先,创建用户是数据库管理的基础...

    oracle基础的语句教程

    3. UPDATE语句:用于更新已存在的数据。你可以指定表名、要修改的列以及新的值,并可使用WHERE子句来确定哪些记录需要被更新。 4. DELETE语句:用于删除表中的记录。同样可以使用WHERE子句来选择要删除的特定记录。...

    oracle帮助文件语句

    描述中提到的"oracle帮助文件创建语句,直接插入到help表中"指的是将帮助信息存储在名为`HELP`的特定表中。这个表通常由Oracle提供,用于存放各种帮助文档的数据。创建和更新这个表的过程涉及SQL插入语句,通过这些...

    oracle常用SQL语句(汇总版).zip

    - `JOIN`:用于合并两个或更多表的数据,如`SELECT * FROM 表1 JOIN 表2 ON 关联条件;`。 - `LEFT JOIN`、`RIGHT JOIN`和`FULL OUTER JOIN`:分别是左连接、右连接和全外连接,处理不同类型的关联需求。 6. 子...

    skyline与oracle数据库坐标关联之oracle数据库操作说明

    Skyline与Oracle数据库坐标关联的操作说明包括创建表字段、给表 user_sdo_geom_metadata 添加数据、创建索引和更新数据四个步骤。只有遵循这四个步骤,才能确保坐标数据的正确性和一致性。 Skyline与Oracle数据库...

    Oracle_基本建表语句.doc

    Oracle中的基本创建表语句如下: ```sql CREATE TABLE 表名 ( 字段名1 字段类型(长度) 是否为空, 字段名2 字段类型 是否为空 ); ``` 例如,创建一个学生表`T_STU`: ```sql CREATE TABLE T_STU ( STU_ID CHAR...

    activity-oracle建表SQL

    在Oracle数据库系统中,"activity-oracle建表SQL"指的是创建活动相关数据表的SQL语句。Oracle数据库是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。当我们谈论“建表SQL”,意味着我们...

    如何实现多数据表关联呢?Delphi的方法实例..rar

    本文将深入探讨在Delphi中如何实现多数据表关联,主要关注TDataSet组件、TTable、TQuery、TDataSource以及SQL语句的应用。 1. **TDataSet组件**:在Delphi中,TDataSet是所有数据集类的基类,它提供了一种抽象的...

Global site tag (gtag.js) - Google Analytics