merge into在oracle10g和oracle 11g中的使用差别一
oracle10g上的代码
MERGE INTO TCGGYSGHCP CP
    USING (SELECT *
             FROM (SELECT QD.LIFNR,
                          QD.MATNR,
                          MAX(MX.DATAB) DATAB,
                          MAX(MX.DATBI) DATBI,
                          QD.LOEKZ,
                          QD.SESSIONID,
                          MAX(QD.CREATEDATE) CREATEDATE,
                          QD.STATUS
                     FROM T_SAP2SCF_GHCP QD
                     LEFT JOIN A018 MX
                       ON MX.SESSIONID = QD.SESSIONID
                      AND MX.MATNR = QD.MATNR
                      AND MX.LIFNR = QD.LIFNR
                    WHERE QD.SESSIONID = P_SESSIONID
                    GROUP BY QD.LIFNR,
                             QD.MATNR,
                             QD.LOEKZ,
                             QD.SESSIONID,
                             QD.STATUS)) T
    ON (CP.WLBM = T.MATNR AND CP.GYSBM = T.LIFNR)
    WHEN MATCHED THEN
      UPDATE
         SET CP.ISDELETE  = T.LOEKZ,
             CP.TCCYTZSRQ = T.DATAB,
             CP.TCQXTZSRQ = T.DATBI,
             CP.GYSMC    =
             (SELECT XX.GYSMC FROM TCGGYSXX XX WHERE XX.GYSBM = T.LIFNR),
             CP.WLMC     =
             (SELECT WL.WLMC FROM TPRIWLZSJ WL WHERE WL.WLBM = MATNR)
    WHEN NOT MATCHED THEN
      INSERT
        (ZZBM,
         ZZXLH,
         WLBM,
         WLMC,
         ISDELETE,
         TCCYTZSRQ,
         TCQXTZSRQ,
         GYSBM,
         GYSMC)
      VALUES
        ('5920',
         '1003',
         MATNR,
         (SELECT WL.WLMC FROM TPRIWLZSJ WL WHERE WL.WLBM = MATNR),
         LOEKZ,
         DATAB,
         DATBI,
         LIFNR,
         (SELECT XX.GYSMC FROM TCGGYSXX XX WHERE XX.GYSBM = T.LIFNR));
这段代码在oracle11g中编译报错
经过跟踪发现 子操作中的子查询去掉就可以,在此可以把子操作中的子查询数据放入到主查询中,子操作直接引用即可。
merge into在oracle10g和oracle 11g中的使用差别一的更多相关文章
- Oracle 11g中修改默认密码过期天数和锁定次数
		Oracle 11g中修改默认密码过期天数和锁定次数 密码过期的原因一般有两种可能: 一.由于Oracle中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180 ... 
- 盘点 Oracle 11g 中新特性带来的10大性能影响
		Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ... 
- Oracle 11g中的snapshot standby特性
		在Oracle 11g中,data guard最吸引人的,除了active data guard的实时查询特性(即可以以只读方式打开物理standby数据库的同时MRP进程能继续做recover),快 ... 
- oracle 11g中的自动维护任务管理
		因为人员紧缺,最近又忙着去搞性能优化的事情,有时候真的是不想再搞这个事情,只是没办法,我当前的绩效几乎取决于这个项目的最终成绩,所以不管是人的事还是事的事,都得去让他顺利推进. 前段时间发生还有几台服 ... 
- oracle 11g 中 (oracle 10g) crsctl 的 替换命令
		 oracle 11g 中 (oracle 10g) crsctl 的 替换命令 Deprecated Command Replacement Commands crs_stat ---集群状态 ... 
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
		Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ... 
- Oracle 11g中修改被锁定的用户:scott
		在安装完Oracle10g和创建完oracle数据库之后,想用数据库自带的用户scott登录,看看连接是否成功. 在cmd命令中,用“sqlplus scott/ tiger”登录时,老是提示如下信息 ... 
- Oracle 11g 中恢复管理器RMAN介绍
		这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ... 
- Oracle 11g中查询CPU占有率高的SQL
		oracle版本:oracle11g 背景:今天在Linux中的oracle服务上,运用top命令发现许多进程的CPU占有率是100%. 操作步骤: 以进程PID:7851为例 执行以下语句: 方法一 ... 
随机推荐
- Mysql的基础使用之MariaDB安装
			初学mysql的小白,首次写博客,为了能让自己记得更加深刻,也是以一种小白的角度交代初学者的经历和困难,也算是记录自己成长的步伐吧 我首次用mysql是在ubuntu上 ,现在用的是linux 中的R ... 
- gerrit session expired 怎么解决,搜索未果
			gerrit session expired,怎么解决,搜索未果 
- php常用函数time
			string date( string format [, int timestamp] ) 参数 format 表示时间格式化的方式,可能的方式如下: 格式化方式 说明 Y ... 
- jade模板
			jade 模板使用 npm install jade -g 安装到全局 jade index.jade 导出一个 index.html 压缩后的 jade -P index. ... 
- 富文本编辑器TInyMCE,本地图片上传(Image Upload)
			TinyMCE 官网 (类似:百度的富文本web编辑器UEditor) 第一步 下载 TinyMCE,解压后放入工程,在需要的HTML页面引入tinymce.min.js. 第二步 下载tinyMCE ... 
- HTML 字符图案
			Dog: <!-- :: :;J7, :, ::;7: ,ivYi, , ;LLLFS: :iv7Yi :7ri;j5PL ,:ivYLvr ,ivrrirrY2X, :;r@Wwz.7r: : ... 
- Salesforce 执行顺序
			在服务器上,Salesforce按以下顺序执行: 1,从数据库加载原始记录或初始化一个用于更新插入(upsert)语句的记录. 2,从请求加载新记录的字段值并覆盖旧的值. 如果请求来自一个标准的UI( ... 
- [已解决][HTML5]基于WebSocket开发聊天室应用
			WebSocket示例java的比较少,大部分是nodejs的,比较有名的是socket.io的chat, 借用下他的前端实现一套java的,后端基于https://github.com/genera ... 
- [转]使用 Xcode 5 和 Interface Builder创建 Hello World App
			转载地址:http://www.ithome.me/archives/581.html 使用 Xcode 5 和 Interface Builder创建 Hello World App 发表回复 当x ... 
- JDK动态代理的实现原理
			学习JDK动态代理,从源码层次来理解其实现原理参考:http://blog.csdn.net/jiankunking/article/details/52143504 
