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的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不...
在SQL语言中,`MERGE INTO`语句是一种强大的工具,用于合并两个数据集,它允许根据特定条件将数据从一个源(通常是临时表或视图)插入或更新到目标表。这个操作通常被称为“合并”或“ Upsert”,因为它可以实现插入...
在Oracle数据库中,`MERGE INTO`语句是一种非常强大的工具,它允许用户根据源表中的数据更新目标表,同时也可以插入新记录。这一特性在处理大量数据时尤其有用,因为它能够在一个步骤中完成更新和插入操作,从而提高...
标题:Oracle Merge Into 的使用 描述详解:Oracle Merge Into 是一个功能强大的SQL语句,它在Oracle数据库系统中被广泛用于处理数据同步、更新或插入操作。与传统的UPDATE和INSERT语句相比,Merge Into 提供了更为...
在Oracle数据库中,`MERGE INTO`语句是一种强大的数据操作工具,它允许你在一个步骤中执行更新(UPDATE)和插入(INSERT)操作,从而提高了数据处理的效率和灵活性。这个命令尤其适用于需要同步两个表的数据时,比如...
Oracle 数据库中 Merge Into 的用法 在 Oracle 数据库中,Merge Into 语句是一种非常有用的功能,它主要用来合并 update 和 insert 语句,即用一个表中的数据来修 改或插入到另一个表中。Merge Into 语句的主要原则...
非常经典的SQL经验,适合于数据库初学者及长期从事软件开发者
下面将详细阐述如何使用这两个工具以及如何通过`MERGE INTO`语句进行数据合并更新。 1. SQLULDR2导出数据: SQLULDR2是Oracle提供的一款数据导出工具,它能够快速地将数据库中的数据导出到文本文件或其他格式的...
DB2中的Merge语句可以将一个表中的数据合并到另一个表中,在合并的同时可以根据条件进行插入、删除、更新等操作,功能非常强大。
Oracle中的`MERGE INTO`语句是一种强大的工具,用于整合数据操作,如更新、插入和删除,基于两个数据源的匹配条件。这个语句在处理数据仓库、数据同步或者复杂业务逻辑时非常有用。让我们详细了解一下`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 进行批量操作 提高sql的执行效率 使用MERGE INTO USING 一条sql搞定 新增和修改 使用connect by 进行递归树查询
Oracle的`MERGE INTO`语句是一种强大的工具,用于根据源数据更新或插入目标表的记录。这个SQL命令结合了`INSERT`, `UPDATE`和`DELETE`操作,使得在处理数据匹配和同步时更加高效。在给定的实例中,`MERGE INTO`被...
Oracle的MERGE INTO语句是一种高效且灵活的数据操纵语言(DML)操作,它结合了INSERT和UPDATE的功能,能够在单个SQL语句中处理插入新记录和更新已有记录的情况。这个特性使得数据库交互更为简洁,减少了多次查询...
### Oracle死锁原因及解决办法 #### 一、Oracle死锁概述 在Oracle数据库系统中,死锁是一种常见的并发问题,它会导致多个事务之间互相等待对方释放资源而无法继续执行,最终导致整个系统的运行效率降低甚至停滞。...
`MERGE INTO`语句的基本结构如下: ```sql MERGE INTO 目标表 USING (源查询) 源 ON (匹配条件) WHEN MATCHED THEN UPDATE SET 列 = 表达式, ... WHEN NOT MATCHED THEN INSERT (列名列表) VALUES (值列表); ``` ...