`

merge 语句用法

 
阅读更多
create table TEST_EMPLOYEES(ID NUMBER,NAME NVARCHAR2(50),SALARY NUMBER);   
insert into TEST_EMPLOYEES (ID, NAME, SALARY) values (1, '张三', 8000);   
insert into TEST_EMPLOYEES (ID, NAME, SALARY) values (2, '李四', 7000);   
insert into TEST_EMPLOYEES (ID, NAME, SALARY) values (3, '王五', 9000);   
create table TEST_EMPLOYEES2(ID NUMBER,NAME NVARCHAR2(50),SALARY NUMBER);   
insert into TEST_EMPLOYEES2 (ID, NAME, SALARY) values (1, '张三', 8000);   
insert into TEST_EMPLOYEES2 (ID, NAME, SALARY) values (2, '李四', 17000);   
insert into TEST_EMPLOYEES2 (ID, NAME, SALARY) values (3, '王五', 19000);

 merge语句的语法如下:

merge <hint>
into <table_name>
using <table_view_or_query>
on (<condition>)
when matched then <update_clause>
delete <where_clause>
when not matched then <insert_clause>
[log errors <log_errors_clause> <reject limit < integer | unlimited > ]

 

具体用法如下:

 

merge into test_employees2 a
using (select id, name, salary, dept from test_employees) b
on (a.id = b.id)
when matched then
  update set a.name = b.name, a.salary = b.salary 
  delete where (a.id = 2)
when not matched then
  insert (id, name, salary, dept) values (b.id, b.name, b.salary, b.dept);

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    DB2 merge语句使用教程

    本教程将详细介绍 DB2 Merge 语句的使用方法。 首先,让我们通过一个简单的例子来理解 DB2 Merge 语句的工作原理。假设我们有两个表,一个是雇员表(EMPLOYE),另一个是经理表(MANAGER)。这两个表都有员工号...

    Mybatis批量foreach merge into的用法

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

    Oracle merge into用法

    `MERGE INTO`语句的一个关键优势是它允许使用`WHERE`子句来细化更新和插入的规则。这意味着你可以控制哪些记录会被更新,哪些记录会被插入,甚至可以排除某些特定的记录不进行任何操作。这种精细的控制能力对于数据...

    merge用法详解(实例详解)

    【知识点详解】 ...通过以上介绍,我们了解了`MERGE INTO`语句的基本概念和使用方法,以及在实际场景中如何进行数据同步。在数据库管理和ETL过程中,合理运用`MERGE`能有效地提高数据处理的效率和准确性。

    Merge Into 语句代替InsertUpdate

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

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

    可以使用以下语句: 更新一个字段: INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB&gt;0,1,columnA) 更新多个字段: INSERT INTO tbl (columnA,columnB,...

    oracle merge 用法详解

    4. **支持DELETE子句**:`MERGE`语句还可以跟`DELETE`子句结合使用,以便删除某些不符合条件的行。 #### 三、示例表创建与应用 为了更好地理解`MERGE`命令的应用场景,我们先创建两个表`PRODUCTS`和`NEWPRODUCTS`...

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

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

    merge的用法

    ### Merge的用法详解 在数据库操作中,`MERGE`语句是一种非常强大的工具,它结合了`UPDATE`和`INSERT`的功能,允许我们根据源表中的数据更新目标表中的记录,如果源表中的记录在目标表中不存在,则可以插入新记录。...

    merge用法详解

    尝试使用不合适的`MERGE`语句会得到错误,因为试图更新连接条件(`id`): ```sql MERGE INTO test1 t1 USING test2 t2 ON (t1.id = t2.id) WHEN MATCHED THEN UPDATE SET t1.id = t2.id WHEN NOT MATCHED THEN ...

    Oracle_merge

    ### Oracle Merge 语句详解 #### 一、引言 在数据库管理中,尤其是在处理大量数据的场景下,高效地更新或插入数据是一项至关...掌握好 `MERGE` 语句的使用方法,对于从事数据库管理和应用开发的专业人士来说至关重要。

    oracle Merge 函数.doc

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

    Merge-Sql.zip

    本文将深入探讨MERGE语句的使用,以及在不支持MERGE的数据库环境中可能采取的替代策略。 首先,让我们理解什么是MERGE语句。在SQL标准中,MERGE是一种DML(数据操纵语言)操作,它结合了INSERT、UPDATE和DELETE的...

    Oracle中merge into的使用

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

    SQL中Merge用法详解

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

    oracle merge into的使用

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

    update语句的优化-oracle .pdf

    总结来说,针对Oracle数据库的update语句的优化,主要可以从简化SQL语句结构、合理使用子查询和join操作、采用merge语句以及编写PL/SQL游标处理等多方面入手。在实际应用中,根据具体情况选择合适的优化方案,能够...

    SQLServer中merge函数用法详解

    在本文中,我们将深入探讨`Merge`函数的使用方法和注意事项。 `Merge`语句的基本结构如下: ```sql MERGE TargetTable AS T USING SourceTable AS S ON (MatchingCondition) WHEN MATCHED AND ...

    SQLServer 2008 Merge语句的OUTPUT功能

    下面介绍一下把Output同2008的新T-SQL语句Merge组合使用的方法: 新建下面表: 代码如下:CREATE TABLE Book( ISBN varchar(20) PRIMARY KEY, Price decimal, Shelf int) CREATE TABLE WeeklyChange( ISBN varchar(20...

Global site tag (gtag.js) - Google Analytics