- 浏览: 579530 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
主要功能
提供有条件地更新和插入数据到数据库表中
如果该行存在,执行一个UPDATE操作,如果是一个新行,执行INSERT操作
— 避免了分开更新
— 提高性能并易于使用
— 在数据仓库应用中十分有用
MERGE语句的语法如下:
MERGE例子
注意:on子句的使用的字段不能够用于update,即Oracle不允许更新用于连接的列。
提供有条件地更新和插入数据到数据库表中
如果该行存在,执行一个UPDATE操作,如果是一个新行,执行INSERT操作
— 避免了分开更新
— 提高性能并易于使用
— 在数据仓库应用中十分有用
MERGE语句的语法如下:
MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;
MERGE例子
MERGE INTO copy_emp c USING employees e ON (c.employee_id=e.employee_id) WHEN MATCHED THEN UPDATE SET c.first_name=e.first_name, c.last_name=e.last_name, c.department_id=e.department_id WHEN NOT MATCHED THEN INSERT VALUES(e.employee_id,e.first_name,e.last_name, e.email,e.phone_number,e.hire_date,e.job_id, e.salary,e.commission_pct,e.manager_id, e.departmetn_id);
注意:on子句的使用的字段不能够用于update,即Oracle不允许更新用于连接的列。
MERGE INTO MN A USING MM B ON(A.ID=B.ID) WHEN MATCHED THEN UPDATE SET A.NAME = B.NAME WHEN NOT MATCHED THEN INSERT VALUES(B.ID, B.NAME); ON(A.ID=B.ID)
MERGE INTO TEST T USING TEST1 ON T1.NAME = T.NAME WHEN NOT MATCHED THEN INSERT (T.ID) values( sys_guid() );
发表评论
文章已被作者锁定,不允许评论。
-
sql 最小化表查询次(col1,col2) = (select col1,col2 from t)
2018-01-02 16:51 531最小化表查询次数 ... -
sql 用inner join取代in和exists
2018-01-02 16:48 1116使用表连接替换EXISTS ... -
oracle HINT详解
2017-09-01 10:42 495ORACLE的HINT详解 hints是oracle提供的 ... -
oracle jdbctemplate如何优化查询速度
2017-08-21 09:33 12801.设置setFetchSize进行优化 // 可以优化 ... -
oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
2017-08-18 16:48 18121.用途 强行启用 ... -
oracle 存储过程学习总结
2016-08-22 08:42 333dbms_output.put_line('CONCAT ... -
oracle SGA总结信息
2016-07-06 10:38 495SGA 系统全局区 SGA是Oracle用来为实例村粗数据和 ... -
oracle where条件分支查询
2016-06-30 16:16 505select * from test xx where ... -
oracle with as用法
2016-06-24 09:58 917with as语法 –针对一个别名 with tmp as ... -
oracle 重复数据处理的sql整理
2016-06-22 14:44 376Oracle 删除重复数据只留一条 1、查找表中多余的重 ... -
oracle 数据库组成部分(数据库(各种文件)+实例(SGA PGA + 后台进程))知识
2016-04-11 19:51 1240一、SQL server中的实例与 ... -
oracle expdp与impdp导入导出
2016-03-17 10:17 1267[b]数据泵工具导出的步骤:[/b] 1、创建DIRECT ... -
oracle 常用sql语句积累
2016-01-28 11:01 5471.删除重复列 delete from t t1 where ... -
oracle forall关键字进行批量操作
2014-12-12 15:26 1020两个数据操纵语言(DML)语句:BULK COLLECT和FO ... -
oracle 表中有子父关系列则使用CONNECT BY PRIOR
2014-10-27 10:08 402查询名字为xx xxx的所有子数据 SELECT re.U ... -
oracle 存储过程使用实例
2014-10-22 17:41 5901.建包 CREATE OR REPLACE PACKA ... -
oracle 删除大量数据后整理表(analyze table xxx compute statistics)
2014-10-17 18:09 21791. DELETE 后 TRUNCATE TABLE ; 然 ... -
oracle splitstr 函数
2014-10-15 17:45 1384splitstr函数 CREATE OR REPLACE ... -
oracle 高效Sql语句总结
2014-10-08 11:23 488No SQL,No cost. SQL语句是造成数据库 ... -
Oracle时间去除零的问题
2014-07-17 19:48 819天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说201 ...
相关推荐
oracle使用 merge 更新或插入数据(总结)
oracle使用 merge 更新或插入数据(总结@新
在 Oracle 数据库中,Merge Into 语句是一种非常有用的功能,它主要用来合并 update 和 insert 语句,即用一个表中的数据来修 改或插入到另一个表中。Merge Into 语句的主要原则是“有则更新,无则插入”。 Merge ...
在Oracle 9i R2版中引入的MERGE语句通常被称作“更新插入”(upsert),因为使用MERGE可以在同一个步骤中更新(update)并插入(insert)数据行。。。。。。
merge 详解 及实例 优点: — 避免了分开更新 — 提高性能并易于使用 — 在数据仓库应用中十分有用 — 使用merge比传统的先判断再选择插入或更新快很多
1)主要功能 提供有条件地更新和插入数据到数据库表中 如果该行存在,执行一个UPDATE操作,如果是一个新行,执行INSERT操作 — 避免了分开更新 — 提高性能并易于使用 — 在数据仓库应用中十分有用 2)MERGE语句的...
一个简单的实用程序 PL/SQL 包,允许对 Oracle 中的合并操作插入/更新/删除的行进行计数。 包的需要 Oracle不提供获取行数的功能。 插入 更新 已删除 使用 MERGE 操作完成所有操作时。 这个简单的实用程序是为了...
作用:判断B表和A表是否满足ON中条件,如果满足则用B表去更新A表,如果不满足,则将B表数据插入A表但是有很多可选项,如下: 1.正常模式 2.只update或者只insert 3.带条件的update或带条件的insert 4.
9.4 返回更新后的行 232 9.5 求解顺序 233 9.5.1 行求解顺序 233 9.5.2 规则求解顺序 235 9.6 聚合 237 9.7 迭代 237 9.7.1 一个例子 238 9.7.2 PRESENTV与空值 239 9.8 查找表 240 9.9 空值 242 9.10 ...
通过 MERGE 命令,根据一张表或子查询的连接条件对数据进行合并、更新和插入操作,可以提高数据库的处理性能和查询效率。 本文档对基于Oracle数据库的几种常见SQL优化策略进行了讨论,旨在提高数据库的处理性能和...
2.12 执行计划并取得数据行 50 2.13 SQL执行——总览 52 2.14 小结 53 第3章 访问和联结方法 55 第4章 SQL是关于集合的 95 第5章 关于问题 116 第6章 SQL执行计划 137 第7章 高级分组 170 第8章 分析函数 197 第9章...
达梦数据库sql语言手册,达梦数据库是国产数据库里最好使用的,可以跟oracle数据无缝替换的
1.3.2.1 插入: Insert with a subquery method ...........................46 1.3.2.1.1 Oracle 11g 的Interval................46 1.3.2.1.2 Oracle 10g 版本........................47 1.3.2.2 交换...
从多表中显示数据: .......................................................................................................25 1.8、用字函数产生的总计 ..................................................
* INSERT:用于插入数据的语句 * UPDATE:用于更新数据的语句 * MERGE:用于合并数据的语句 * EXPLAIN PLAN:用于解释执行计划的语句 * EXECUTE IMMEDIATE:用于执行立即执行的语句 * EXECUTE:用于执行 PL/SQL 块的...
sql> alter index xay_id allocate extent(size 200k datafile \'c:/oracle/index.dbf\'); <8>.alter index xay_id deallocate unused; 、查看索引 SQL>select index_name,index_type,table_name from user...
1.2.1.6.4 比较不匹配的数据类型 ........................................................................ 1.2.1.7 查询索引...................................................................................
7. tablespace 表空间:一个或多个数据文件的逻辑组成。 ..... 8. redo log file 重做日志文件............................. 9. control file 控制文件 ................................. 10. parameter file 初始...