`
wangxiao5530
  • 浏览: 136592 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

merge into

 
阅读更多

Merger into是oracle9i开始增加的一个函数,用来将两个表的数据合并时,或将一个表的数据添加到另一个表但又不能添加重复数据.


sql语法如下:
        merge into table_name table_alias using (table|view|sub_query) alias on(join condition)
when matched then update set col1=col1_val,col2=col2_val......
when not matched then insert (column_list)values(columns_values)

 

示例:

   1.先创建测试表:

 

create  table  test1
(
    col1 varchar2(200),
    col2 varchar2(200),
    col3 varchar2(200),
    col4 date
);

create table test2
(
    col1 varchar2(200),
    col2 varchar2(200),
    col3 varchar2(200),
    col4 date
);

 

2.表中插入数据:

 

insert into  test1 
values('111','121','131',sysdate);
insert into  test1 
values('112','122','132',sysdate);


insert into  test2 
values('211','221','231',sysdate);
insert into  test2 
values('112','122','132',sysdate);

 

 

3.

   执行前数据查看:

 

select * from test1;

 

COL1 COL2 COL3 COL4
111 121 131 01-03-2012 11:58:49
112 122 132 01-03-2012 11:58:51

 

select * from test2;

 

COL1 COL2 COL3 COL4
211 221 231 01-03-2012 11:58:53
112 122 132 01-03-2012 11:58:55

 

 

执行:

 

MERGE INTO test2
USING test1  
ON(test1.COL1 = test2.COL1)
WHEN MATCHED THEN  
UPDATE  
SET 
    test2.COL4=sysdate
WHEN NOT MATCHED THEN  
INSERT   
VALUES(test1.COL1,test1.COL2,test1.COL3,test1.COL4) ;

 

执行后结果查看:

test2:

 

 

COL1 COL2 COL3 COL4
211 221 231 01-03-2012 11:58:53
112 122 132 01-03-2012 12:07:49
111 121 131 01-03-2012 11:58:49
分享到:
评论

相关推荐

    Mybatis批量foreach merge into的用法

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

    Merge into的使用详解

    在SQL语言中,`MERGE INTO`语句是一种强大的工具,用于合并两个数据集,它允许根据特定条件将数据从一个源(通常是临时表或视图)插入或更新到目标表。这个操作通常被称为“合并”或“ Upsert”,因为它可以实现插入...

    Oracle merge into用法

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

    oracle merge into的使用

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

    Oracle中merge into的使用

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

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

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

    Merge Into 语句代替InsertUpdate

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

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

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

    DB2 MERGE INTO语句的使用

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

    oracle中merge into用法及实例解析

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

    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 = [ ...

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

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

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

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

    Oracle MERGE INTO的用法示例介绍

    Oracle的MERGE INTO语句是一种高效且灵活的数据操纵语言(DML)操作,它结合了INSERT和UPDATE的功能,能够在单个SQL语句中处理插入新记录和更新已有记录的情况。这个特性使得数据库交互更为简洁,减少了多次查询...

    oracle死锁原因解决办法

    ### Oracle死锁原因及解决办法 #### 一、Oracle死锁概述 在Oracle数据库系统中,死锁是一种常见的并发问题,它会导致多个事务之间互相等待对方释放资源而无法继续执行,最终导致整个系统的运行效率降低甚至停滞。...

    merge用法详解(实例详解)

    `MERGE INTO`语句的基本结构如下: ```sql MERGE INTO 目标表 USING (源查询) 源 ON (匹配条件) WHEN MATCHED THEN UPDATE SET 列 = 表达式, ... WHEN NOT MATCHED THEN INSERT (列名列表) VALUES (值列表); ``` ...

Global site tag (gtag.js) - Google Analytics