`

SQL MERGE 语句

SQL 
阅读更多
SQL中的MERGE语句,是对两个表进行操作,可以看做是UPDATE和INSERT的集合使用,前提是目标表可以插入和更新记录。

EXAMPLES:
CREATE TABLE test_a (part_id number, part_count number);
INSERT INTO test_a VALUES(3, 5);
INSERT INTO test_a VALUES(4, 8);

CREATE TABLE test_b (part_id number, part_count number);
INSERT INTO test_b VALUES(3, 2);
INSERT INTO test_b VALUES(6, 7);

MERGE INTO test_a a
    USING test_b b
    ON (a.part_id = b.part_id)
    WHEN MATCHED THEN UPDATE SET a.part_count = a.part_count + b.part_count
    WHEN NOT MATCHED THEN INSERT (a.part_id, a.part_count)
    VALUES (b.part_id, b.part_count); 
    
SELECT * FROM test_a;
   PART_ID PART_COUNT
---------- ----------
         3          7
         4          8
         6          7
分享到:
评论

相关推荐

    generate-sql-merge:生成带有表数据SQL MERGE语句

    生成带有表数据SQL MERGE语句 该系统存储过程将表名作为参数,并生成包含所有表数据的MERGE语句。 如果您需要,例如,这很有用。 生成的MERGE语句可以包含在源代码管理中,并用于在DEV / TEST / PROD之间部署数据。...

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

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

    DB2 merge语句使用教程

    DB2 Merge 语句是数据库管理系统 DB2 中用于合并数据的一种高级操作,它结合了插入、更新和删除的功能,能够高效地处理多个数据源之间的数据同步。本教程将详细介绍 DB2 Merge 语句的使用方法。 首先,让我们通过一...

    解析SQL Server 2008中的新语句:MERGE

    根据一个源数据表对另一个数据表进行确定性的插入、更新和删除这样复杂的操作,运用新的MERGE语句,开发者用一条命令就可以完成。对两个表进行信息同步时,有三步操作要进行。首先要处理任何需要插入目标数据表的新...

    SQLServer 2008 Merge语句的OUTPUT功能

    在SQL Server 2008中,`MERGE`语句是一种非常强大的工具,它能够合并插入、更新和删除操作于一个单一的SQL语句之中,极大地提高了数据处理的效率和代码的简洁性。`OUTPUT`子句是`MERGE`语句的一个重要组成部分,它...

    Merge-Sql.zip

    MERGE语句在SQL中扮演着关键角色,它提供了一种高效且灵活的方式来合并两个数据集,无论是更新、插入还是删除,都能一气呵成。本文将深入探讨MERGE语句的使用,以及在不支持MERGE的数据库环境中可能采取的替代策略。...

    SQL Server使用Merge语句当源表数据集为空时,无法进行查询的问题

    在SQL Server中,`MERGE`语句是一种强大的工具,用于合并两个数据集,它可以实现插入、更新或删除操作。然而,当源表数据集为空时,`MERGE`语句可能不会按照预期的方式工作。这个问题在【标题】和【描述】中已经提到...

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不存在则插入。下面是该方法的详细介绍: ...

    SQL中Merge用法详解

    MERGE语句是SQL语句的一种。在SQL Server、Oracle数据库中可用,MySQL、PostgreSQL中不可用。MERGE是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表(原数据表,source table)或子...

    Oracle中SQL语句执行效率的查找与解决

    本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...

    Top-SQL Tuning SQL语句调整

    标题与描述中的“Top-SQL Tuning SQL语句调整”主要聚焦于提升SQL查询的效率与性能,这是数据库管理与优化的重要组成部分。SQL语句的性能直接影响到应用程序的响应时间和系统的整体性能,因此,掌握有效的SQL调优...

    Merge Into 语句代替InsertUpdate

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

    SQLServer中merge函数用法详解

    `Merge`函数是SQL Server 2008引入的一个强大的数据操纵语言(DML)关键字,它可以合并`Insert`、`Update`和`Delete`操作到一个单一的语句中,极大地提高了数据库维护的效率和代码的简洁性。在本文中,我们将深入...

    sql语句使用文档

    包含select、insert、delete、update和merge命令。 2. 数据定义语言(DDL):用于定义或修改数据库结构。包含create、alter、drop、truncate、rename和comment命令。 3. 事务控制语言(TCL):用于管理数据库事务的...

    oracle Merge 函数.doc

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

    SQL server 触发器,在触发Merge过程中,逐行触发的解决办法 用group by 避免是一次触发中的多行更新或删除。

    Merge语句是一种复杂的SQL操作,它结合了INSERT、UPDATE和DELETE,用于同步两个数据源。当Merge触发器被定义为在这些操作上触发时,如果处理不当,可能会导致一次性处理大量行,而非逐行处理。这可能导致资源消耗过...

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

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

Global site tag (gtag.js) - Google Analytics