`
hanbin51987
  • 浏览: 47166 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

关于Oracle Merge操作

阅读更多

犹豫项目中牵扯到大数据解析导入,每次导入一条数据之前要去数据库去判断是否存在此数据,用于更新和插入

,执行效率不是一般的慢~ 得知Oracle9.2之后有Merge语句后,十分方便啊~一下是简单的例子。仅作以后参考吧

 

语法关键字  Merge into   TableName(要执行插入,或者更新的目标表)

using TableName 或者 select 子查询 (这就是对比的数据源) 

on  (需要匹配的条件)

when Matched Then (如果符合匹配)

    update 或者 delete 或者 insert  根据具体业务需要选择 

when not Matched Then (如果不符合匹配) 

    update 或者 delete 或者 insert  根据具体业务需要选择

相应的具体更新,删除,插入操作跟平时操作有点儿出入 具体请看代码示例

Merge Into t_Gsm_Antenna_Mode M1 --更新或者插入数据的目标表 Using (Select * From t_Gsm_Antenna_Test M2 Where M2.V_CELL_ADDR_PRO=1) U1 --数据源 可以是Table Name 也可以为 select 子查询 On (M1.I_SUBCOMP_ID=U1.i_Subcomp_Id And M1.I_CELL_ID=U1.i_Id And M1.i_Floor=U1.i_Floor) When Matched Then --当on条件匹配时,即数据源存在此数据的情况下更新 Update Set M1.I_COUNTRY_ID=U1.i_Country_Id,M1.V_BTS_NUMBER=U1.V_BTS_NUMBER,M1.V_CELL_NAME=U1.v_Cell_Name When Not Matched Then --当on条件不匹配时,即数据源不存在此数据的情况下插入 Insert (M1.I_SUBCOMP_ID,M1.I_COUNTRY_ID,M1.V_CELL_NAME) Values(U1.I_SUBCOMP_ID,U1.I_COUNTRY_ID,U1.V_CELL_NAME)

 

 

分享到:
评论

相关推荐

    oracle merge 用法详解

    1. **UPDATE或INSERT子句成为可选项**:与Oracle 9i不同的是,在Oracle 10g中,`MERGE`语句允许用户只指定`UPDATE`或`INSERT`中的任意一个操作。 2. **支持WHERE子句**:在`UPDATE`和`INSERT`子句后可以添加`WHERE`...

    oracle merge into的使用

    在Oracle 9i版本中,Merge Into 的引入使得开发者能够同时执行更新(UPDATE)和插入(INSERT)操作,而到了Oracle 10g及后续版本,这一功能得到了进一步增强,提供了更丰富的条件选择和操作选项。 ### 知识点详述:...

    Oracle merge into用法

    在Oracle 9i中,`MERGE INTO`语句首次被引入,它允许在同一语句中执行`INSERT`和`UPDATE`操作。到了Oracle 10g,这个功能得到了进一步增强,使其更加强大和灵活。通过`MERGE INTO`,可以基于源表和目标表之间的匹配...

    oracle Merge 函数.doc

    Oracle Merge 函数是一种强大的数据操作语句,用于从一个表中选择一些数据更新或者插入到另一个表中。Merge 函数的使用方式有三种:只更新不插入、只插入不更新和既插入也更新。 Merge 函数的基本用法 Merge ...

    Oracle中merge into的使用

    在Oracle数据库中,`MERGE INTO`语句是一种强大的数据操作工具,它允许你在一个步骤中执行更新(UPDATE)和插入(INSERT)操作,从而提高了数据处理的效率和灵活性。这个命令尤其适用于需要同步两个表的数据时,比如...

    Oracle_merge

    Oracle 9i R2 版本引入了一种名为 `MERGE` 的新功能,这一功能在业界被称为“更新插入”(upsert),即在一个步骤内同时实现数据更新与插入操作。通过这种方式,不仅能够极大地提高数据处理效率,还能简化复杂的业务...

    浅谈Oracle数据库中Merge Into的用法.pdf

    Oracle 数据库中 Merge Into 的用法 在 Oracle 数据库中,Merge Into 语句是一种非常有用的功能,它主要用来合并 update 和 insert 语句,即用一个表中的数据来修 改或插入到另一个表中。Merge Into 语句的主要原则...

    Oracle merge合并更新函数实例详解

    Oracle的MERGE语句是一种强大的数据操作工具,它在Oracle9i版本中被引入,用于合并UPDATE和INSERT操作。在处理需要根据特定条件更新或插入数据的场景时,MERGE语句提供了高效的解决方案,尤其适合那些需要在单个SQL...

    Oracle MERGE INTO的用法示例介绍

    如果不使用Oracle提供的merge语法的话,可能先要上数据库select查询一下看是否存在,然后决定怎么操作,这样的话需要写更多的代码,同时性能也不好,要来回数据库两次.使用merge的话则可以一条SQL语句完成. 1)主要功能 ...

    MySQL中实现插入或更新操作(类似Oracle的merge语句)

    在Oracle数据库中,这种操作可以通过`MERGE`语句轻松完成。然而,MySQL并不直接支持`MERGE`语句,但我们可以使用`INSERT ... ON DUPLICATE KEY UPDATE`语法来达到类似的效果。 `INSERT ... ON DUPLICATE KEY UPDATE...

    oracle 数据操作与事务控制

    9i版本后,Oracle引入了MERGE语句,它结合了INSERT和UPDATE的功能,可以在一条语句中根据条件进行插入或更新操作。 事务控制是数据库操作的重要部分,它确保数据的一致性。COMMIT命令用于提交事务,使所有的DML操作...

    使用BULK COLLECT, MERGE 语句提高sql执行效率

    详细介绍了使用 BULK COLLECT 进行批量操作 提高sql的执行效率 使用MERGE INTO USING 一条sql搞定 新增和修改 使用connect by 进行递归树查询

    oracle使用 merge

    在Oracle数据库管理中,`MERGE`语句是一种强大的功能,它允许用户根据源表中的数据更新目标表,同时也可以向目标表中插入新的记录。这使得`MERGE`成为处理大量数据时的一个高效工具,特别是在需要同步两个数据集的...

    Oracle 大数据量操作性能优化

    Oracle 大数据量操作性能优化 Oracle大数据量操作性能优化是指在处理大量数据时,如何提高 Oracle 数据库的性能。该优化技术涉及到多个方面,包括分区、Direct Insert、并行和排序处理等。 分区是 Oracle 中的一种...

    oracle数据匹配merge into的实例详解

    Oracle的`MERGE INTO`语句是一种强大的工具,用于根据源数据更新或插入目标表的记录。这个SQL命令结合了`INSERT`, `UPDATE`和`DELETE`操作,使得在处理数据匹配和同步时更加高效。在给定的实例中,`MERGE INTO`被...

    oracle中merge into用法及实例解析

    Oracle中的`MERGE INTO`语句是一种强大的工具,用于整合数据操作,如更新、插入和删除,基于两个数据源的匹配条件。这个语句在处理数据仓库、数据同步或者复杂业务逻辑时非常有用。让我们详细了解一下`MERGE INTO`的...

    merge_row_count:一个简单的实用程序,允许对由 Oracle 中的合并操作插入更新删除的行进行计数

    使用 MERGE 操作完成所有操作时。 这个简单的实用程序是为了填补功能上的空白。 请注意,使用该实用程序对处理的数据进行计数将对合并操作的性能产生轻微但负面的影响。 这是由于 SQL - PL/SQL 上下文切换的开销的...

Global site tag (gtag.js) - Google Analytics