`
xphwv
  • 浏览: 45334 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Merge into 详细介绍

阅读更多

MERGE语句是 oracle 9i 新增的语法,用来合并 UPDATE 和 INSERT 语句。

通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,

连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。

这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。

 

create table test1(eid number(10), name varchar2(20)); 
create table test2(eid number(10), name varchar2(20));  
delete  test2
commit;
merge into test2
using test1
on (test1.eid=test2.eid)
when matched then
  update set name = 'aaa' where test1.eid=1001
when not matched then
  insert
    (eid, name)
  values
    (test1.eid, test1.name) where test1.eid=1001;
commit;

select * from test1; 
select * from test2; 

注:对子表中的N条数据进行有则修改,无则添加操作,需要用到主表关系

 

分享到:
评论

相关推荐

    Mybatis批量foreach merge into的用法

    下面是该方法的详细介绍: 首先,需要使用Oracle 9i及其以后版本支持的merge into语句,该语句可以实现insertOrUpdate的功能。然后,使用Mybatis的动态SQL语法foreach循环插入,待插入的实体bean的List通过查询...

    Merge into的使用详解

    本篇文章将详细介绍`MERGE INTO`的使用,包括两种常见的写法,并通过实例进行说明。 一、`MERGE INTO`的基本语法 `MERGE INTO`语句的基本结构如下: ```sql MERGE INTO target_table USING source_table ON (join...

    Oracle merge into用法

    在Oracle数据库中,`MERGE INTO`语句是一种非常强大的工具,它允许用户根据源表中的数据更新目标表,同时也可以插入新记录。这一特性在处理大量数据时尤其有用,因为它能够在一个步骤中完成更新和插入操作,从而提高...

    oracle merge into的使用

    标题:Oracle Merge Into 的使用 描述详解:Oracle Merge Into 是一个功能强大的SQL语句,它在Oracle数据库系统中被广泛用于处理数据同步、更新或插入操作。与传统的UPDATE和INSERT语句相比,Merge Into 提供了更为...

    Merge Into 语句代替InsertUpdate

    非常经典的SQL经验,适合于数据库初学者及长期从事软件开发者

    Oracle中merge into的使用

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

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

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

    DB2 MERGE INTO语句的使用

    DB2中的Merge语句可以将一个表中的数据合并到另一个表中,在合并的同时可以根据条件进行插入、删除、更新等操作,功能非常强大。

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

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

    利用 sqluldr2导出数据 使用sqlldr导入数据 通过merge into 合并更新数据

    下面将详细阐述如何使用这两个工具以及如何通过`MERGE INTO`语句进行数据合并更新。 1. SQLULDR2导出数据: SQLULDR2是Oracle提供的一款数据导出工具,它能够快速地将数据库中的数据导出到文本文件或其他格式的...

    pybigquery-merge-into:向pybigquery添加MERGE INTO支持

    主要类是pybigquery_merge_into.merge_clause.MergeInto() 。 例子 >> > query = MergeInto ( target = target , source = source , onclause = target . c . t1 == source . c . s1 , when_clauses = [ ...

    oracle中merge into用法及实例解析

    让我们详细了解一下`MERGE INTO`的语法和几个基本用法。 `MERGE INTO`的基本语法如下: ```sql MERGE INTO [target-table] A USING [source-table sql] B ON([conditional expression] and [...]...) WHEN ...

    Hibernate中的merge使用详情解说

    下面,我们将对 merge 方法进行详细的解释。 首先,merge 方法是一个可以同时执行插入和更新操作的方法。当我们使用 merge 方法时,Hibernate 会根据对象的状态来决定是否执行插入或更新操作。如果对象的 ID 已经...

    Oracle MERGE INTO的用法示例介绍

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

    oracle死锁原因解决办法

    跟踪文件中包含的详细信息对于诊断死锁的原因非常有帮助。 ##### 3.3 死锁图 Oracle提供了死锁图,用以直观地展示死锁的情况。例如: ``` Deadlock graph: ---------Blocker(s)-----------------Waiter(s)-------...

    oracle Merge 函数.doc

    MERGE INTO merge_test2 M USING merge_test1 N ON (M.a = N.a) WHEN MATCHED THEN UPDATE SET M.b = N.b WHEN NOT MATCHED THEN INSERT (M.a, M.b) VALUES (N.a, N.b); SELECT * FROM merge_test2; ``` Merge ...

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

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

Global site tag (gtag.js) - Google Analytics