一.merge into

在网上查资料得到

该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了如下改动。

1.insert 和update是可选的

2.UPDATE 和INSERT 后面可以跟WHERE 子句

3.在ON条件中可以使用常量来insert 所有的行到目标表中,不需要连接到源表和目标表

4.UPDATE 子句后面可以跟delete 来去除一些不需要的行。

我的sql是这样的:

merge into E203@LINKLJ t1
using (select JH,
              SGDW,
              SGDH,
              LJDW,
              LJDH
         from SJ_LJ.E203
        where swid = '00005ZphA57bT'
          and jh in (select jh
                       from LC_DJSHXXB
                      where (csdwshzt <> '-1' and zgdwshzt <> '-1' and
                            ysdwshzt <> '-1')
                        and swid = '00005ZphA57bT')) t2
on (t1.JH = t2.JH)
when matched then
  update
     set t1.SGDW    = t2.SGDW,
         t1.SGDH    = t2.SGDH,
         t1.LJDW    = t2.LJDW,
         t1.LJDH    = t2.LJDH
   where t1.JH = t2.JH
when not matched then
  insert
    (JH,
     SGDW,
     SGDH,
     LJDW,
     LJDH) 
  values
    (t2.JH,
     t2.SGDW,
     t2.SGDH,
     t2.LJDW,
     t2.LJDH)

按照上面的资料按理来说,我这个sql语句在10g和11g都是可以执行的,但是实际上是11g可运行,10g报:ora-00904:"A3"."JH":标识符无效;ora-02063......

然后我将update中的where条件去掉,就OK了。

"UPDATE 和INSERT 后面可以跟WHERE 子句 "这个好像是不对的,至于原理,不懂哦,有高手帮忙解答当然最好了,呵呵。

之前还发现不同的地方,只因当时项目紧急,没来的及记下来,待以后再续了。

oracle 10g与oracle 11g的不同相关推荐

  1. 最新oracle11g下载Oracle 10g下载 Oracle 9i 下载破解

    oracle11g下载Oracle 10g下载 Oracle 9i 下载 关键字: oracle下载 oracle目前最新版本为Oracle 11g下载, 分享"Oracle 11g下载地址 ...

  2. oracle 10g升级到11g

    Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g 了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级 ...

  3. oracle 10G 升级到11G

    Oracle从10g升级到11g详细步骤 数据库旧版本:10.2.0.4 数据库新版本:11.2.0.2 OS 版本: Solaris 10 参考文档:Complete Checklist for M ...

  4. oracle 9i 11g区别,oracle 9i 和oracle 10g 和oracle 11g有什么区别

    9i比8i多了哪些新特性? 简要说: 9i更易于管理. 详细说: 并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交 ...

  5. oracle 11g下载 Oracle 10g下载 Oracle 9i下载

    oracle目前最新版本为Oracle 11g下载, 分享"Oracle 11g下载地址"(非11i)."Oracle 10g下载地址"."Oracl ...

  6. oracle 10g clusterware,OracleClusterware10g/11g进程详解

    crsd :执行高可用性的恢复和管理操作:维护ocr,管理应用资源,该进程以root用户身份运行.该进程在由于故障意外断后会自动重启. The Oracle 10g Clusterware proce ...

  7. oracle10数据库链接失败,PLSQL Developer连接Oracle 10g或Oracle 11g失败

    在使用PLSQL Developer链接Oracle9i时只要配置了Net Configuration Assistant并测试成功以后,在用PLSQL Dev连接上就可以是使用了.但是在连接Orac ...

  8. window 2008 32位系统安装oracle 10g数据库,Oracle 10g for Windows 32bit安装图解-数据库专栏,ORACLE...

    今天下载到oracle 10g for windows 32bit,安装时截图,给大家一个参考. 这一步是要耗费很长时间的. 上面是图解.总体来说,10g安装起来感觉更省事,不会出现9i时候的一些问题 ...

  9. oracle 10g 白皮书,Oracle 10g标准版与企业版

    beautiful 于 2007-03-06 00:43:37发表: 最后还有一些关于oracle产品的FAQ: 1. Oracle数据库软件目前在售的版本号? A:目前在售的是Oracle 9i 和 ...

最新文章

  1. 解决J2EE系统应用性能问题常用方法
  2. 听说你想去大厂看妹子,带你看看字节跳动产品运营岗面试是啥样?
  3. android studio升级版本,导入项目出错
  4. 单元格格式_单元格格式的用法你知道吗~~
  5. scanf函数的返回值问题
  6. addslashes注入漏洞与mb_addslashes
  7. javascript对象数组的二维比较和插入
  8. Echart.js的趋势图入门与实例
  9. TCP的三次握手和四次挥手理解及面试题
  10. CS224N刷题——Assignment1.11.2_Softmax神经网络基础
  11. 微信群聊在哪个服务器,微信怎么找附近的群聊?微信群不见了怎么找?
  12. 大数据组件监控体系构建
  13. 微信网页开发(5)--invalid signature/permission denied/offline verifying等错误处理
  14. 基于plc控制的太阳能追光逐日系统实训装置,QY-PV26
  15. FineBI 的登录锁定配置修改
  16. 几个常用的、重要的网络命令!(ping,Tracert ,winipcfg等)
  17. Android Gatekeeper梳理
  18. 如何自学Axure(0基础入门教程)
  19. RationalDMIS 7.1如何简单有效地创建工件程序?
  20. 计算机工程科学怎么翻译,汉英机器翻译中汉语篇章时间信息系统模型 - 计算机工程与科学.pdf...

热门文章

  1. 论文写作技巧----公式
  2. 知识图谱初步学习(零)——本体是什么
  3. 用python做算法需要哪些技能_成为一名CV算法工程师,你需要具备哪些能力?
  4. adaboost训练 之 弱分类器训练原理
  5. 什么是https?http和https之间区别是什么?
  6. Python中用tkinter实现BMI计算
  7. 我的生活(小兵,班长,连长....大将)
  8. 浏览器调用桌面程序方法
  9. vue双向绑定数据更新会频繁触发render更新
  10. python爬虫—Requests