查看原文:http://www.ibloger.net/article/244.html

在Oracle 10g之前,merge语句支持匹配更新和不匹配插入2种简单的用法,在10g中Oracle对merge语句做了增强,增加了条件选项和DELETE操作。下面我通过一个demo来简单介绍一下10g中merge的增强和10g前merge的用法。

 
参考Oracle 的SQL Reference 下面我在一下环境中做一个测试看看

创建表subs  和 acct

create table subs(msid     number(9),ms_type  char(1),areacode number(3)
);create table acct(msid       number(9),bill_month number(6),areacode   number(3),fee        number(8,2) default 0.00
);

插入数据

insert into subs values(905310001,0,531);
insert into subs values(905320001,1,532);
insert into subs values(905330001,2,533);
commit
语法
--  语法
merge [into [schema .] table [t_alias]using [schema .] { table | view | subquery } [t_alias]on ( condition )when matched then merge_update_clausewhen not matched then merge_insert_clause;

测试

---  matched:更新    not matched:插入  两者可以同步执行也可以只要一个条件
merge into acct ausing subs bon (a.msid = b.msid)when matched thenupdate set a.areacode = 22 when not matched theninsert (msid, bill_month, areacode) values (b.msid, '200702', b.areacode);
commit

增强条件查询操作

merge into acct ausing subs bon (a.msid = b.msid)when matched thenupdate set a.areacode = 22 where b.ms_type = 0when not matched theninsert (msid, bill_month, areacode) values (b.msid, '200702', b.areacode) where b.ms_type = 0;
commit

增强删除操作

merge into acct ausing subs bon (a.msid = b.msid)when matched thenupdate set a.areacode = 22delete where (b.ms_type != 0);
commit

ORACLE 10 g的 merge into 用法相关推荐

  1. Win7安装oracle 10 g

    开始-运行-输入hdwwiz-回车   --选则手动 --网络适配器--左边选Microsoft,右边找到Microsoft Loopback Adapter  --完成 打开    控制面板\网络和 ...

  2. (转)64bit上安装32位oracle 10 g出现错误:无法定位承诺工序输入点 getprocessimagifilenamew 于动态链接库PSAPI.DLL...

    转自http://jonelove00.iteye.com/blog/1685206安 装时以最高管理员身份运行:红色字体为自己加上去的代码 找到..\database\stage\prereq\db ...

  3. Merge用法:Oracle 10g中对Merge语句的增强

    网址:  http://www.eygle.com/digest/2009/02/mergeoracle_10gmerge.html 在Oracle 10g之前,merge语句支持匹配更新和不匹配插入 ...

  4. oracle 实例用法,Oracle merge into用法以及相关例子示例

    以下的文章主要是对Oracle merge into用法以及相关例子的介绍,首先我们以Oracle 9I中加入MERGE入手,以下就是文章的具体内容的分析,希望你浏览完之后会给你带来一些帮助在此方面. ...

  5. oracle中的merge into用法解析

    oracle中的merge into用法解析 merge into的形式 MERGE INTO [target-table] A USING [source-table sql] B ON([cond ...

  6. oracle merge into 优化,ORACLE 10g 的 merge into用法

    在Oracle 10g之前,merge语句支持匹配更新和不匹配插入2种简单的用法,在10g中Oracle对merge语句做了增强,增加了条件选项和DELETE操作.下面我通过一个demo来简单介绍一下 ...

  7. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志

    练习oracle的rac组建过程,第一步,先练习4u4上安装oracle 10.2.0.1.0.直接安装rac,有些难度.从简单的做起.总RAC步骤,参照小布老师的RAC组建. 1. 启动vc,登陆v ...

  8. day12_oracle hint——SQL优化过程中常见Oracle中HINT的30个用法

    在SQL语句优化过程中,经常会用到hint, 以下是在SQL优化过程中常见Oracle中"HINT"的30个用法 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方 ...

  9. Merge into 用法

    Merge的用法 Merge可以完成以下功能: 1.    两个表之间数据的更新 2.    进行进销存更新库存 3.    进行表之间数据的复制 语法说明: 1.    在语句结束后一定要用分号,否 ...

最新文章

  1. OKR能给公司和团队带来什么价值?
  2. 大数据学习笔记1000条
  3. 长沙县这一年:战在新高地,筑牢新高台,攀向新高峰
  4. Laravel event 事件的简单使用
  5. 算法 --- 记一道面试dp算法题
  6. Codeforces - 102222C - Caesar Cipher
  7. VC++中实现INI文件读写的方法和示例
  8. python3 zip()函数笔记
  9. 新建文件夹的快捷键大全
  10. 清晰的史密斯圆图 wiki上的
  11. 计算机联锁进路控制程序框图,计算机联锁系统技术第四章
  12. 解读全部二十三种设计模式(附测试代码)
  13. 紫砂壶的起源 计算机操作题,紫砂壶的起源与历史发展你知道吗?
  14. 计算机组成存储单元地址分配,主存中存储单元地址的分配
  15. FlinkSQL JDBC 批处理 java heap space
  16. 大牛养成指南(2):先实现一个小目标吧!10000小时理论如何轻松落地
  17. Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理
  18. Android自定义控件之实现快速检索
  19. 虚幻4学习的方法和途径
  20. YII2日常所用的教程

热门文章

  1. 设置 IntelliJ IDEA 主题和字体的方法
  2. 速卖通获得aliexpress商品详情 API
  3. linux云服务器配置JDK教程(博主阿里云,腾讯云亲测成功案例教程)
  4. access偏移注入
  5. 一阶电路实验报告心得_一阶电路实验报告5篇
  6. 查看修改qcow2文件
  7. 如何查询快递单号物流
  8. dcdc模块降额设计_爱默生网络能源PCB设计规范
  9. python绘制小提琴图_matplotlib 小提琴图(violin plot)
  10. 计算机硬件是怎么影响性能的,哪些硬件影响电脑的性能