当前位置:  数据库>oracle

通过Oracle中的merge实现根据一张表的内容更新另外张表数据的功能

    来源: 互联网  发布时间:2017-05-03

    本文导语: 最近由于项目需要一直想找个关于Oracle中实现根据一张表的内容更新另外张表数据的功能,在网上找了半天也没找到个合适的方法,虽然看到有人说可以通过存储过程来实现,但觉得那样太麻烦,今在查找同样的功能时发现了Ora...

最近由于项目需要一直想找个关于Oracle中实现根据一张表的内容更新另外张表数据的功能,在网上找了半天也没找到个合适的方法,虽然看到有人说可以通过存储过程来实现,但觉得那样太麻烦,今在查找同样的功能时发现了Oracle中的merge,于是花了点时间用比较简单的方法实现了这个功能。语法就免了,网上一搜一堆,看具体语句吧,代码也比较简单,通过字面就可以理解了,最简单的版本应是:

  • merge into test1 t1  
  • using test2 t2  
  • on (t1.id = t2.id)  
  • when matched then  
  •  update set t1.name = t2.name  
  • when not matched then  
  •  insert values(t2.id,t2.name)  
  • 具体项目中的语句是:

  • merge into public_field t1  
  • using (select xx.link_id, yy.save_path  
  •          from (select *  
  •                  from public_field x  
  •                 where x.link_id in (select t.id from scenic t)  
  •                   and x.ci_logo is null) xx  

  •     
     
     

    您可能感兴趣的文章:

  • 通过javascript实现DIV居中,兼容各浏览器版本
  • 现在java开发中流行通过什么方式实现对数据库操作?就好像Visual Stadio通过ADO访问数据库。
  • 通过javascript库JQuery实现页面跳转功能代码
  • php通过数组实现多条件查询实现方法(字符串分割)
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 如何设置JTextArea里字体??通过什么方法可以实现?
  • linux下通过crond实现自动执行程序
  • [Fedora] 使用Xmanger来实现在windows下通过远程桌面来访问linux主机的方法
  • Session id实现通过Cookie来传输方法及代码参考
  • 请教,怎样通过jsp和servlet实现rmi技术
  • Python3通过request.urlopen实现Web网页图片下载
  • 请教为什么在C++编译通过并实现的程序,在linux下就会出错
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • 如何通过http代理实现socks代理?
  • 在LINUX下,进程间访问临界资源只能通过效率很低的锁文件方式来实现吗?
  • codeblocks8.02 for linux,程序可以编译通过,但是通过右键“查找fopen函数的声明”或“实现”,都是提示“没有找到:fopen”,为什么
  • 请问各位高手,怎么样在windows上通过批处理脚步启动solaris上的编译器,实现自动编译?(solaris通过telnet登陆)?
  • 通过viewport实现jsp页面支持手机缩放
  • [Fedora] 使用Xmanger来实现在windows下通过远程桌面来访问linux主机的方法 iis7站长之家
  • 通过Oracle发送Email的实现方法
  • 如何实现通过网站发短信
  • olap工具软件,主体开发工作已经完成,欠缺web方式交互式的分析数据功能,欲通过java来完成,寻求合作
  • 通过SQL Server的位运算功能巧妙解决多选查询方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php通过socket_bind()设置IP地址代码示例
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • 通过docker commit命令保存对docker容器的修改
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过docker run命令运行新的docker镜像
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • 通过docker ps命令检查运行中的docker镜像
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • 通过docker search命令搜索可用docker镜像
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 如何通过 Docker 在 Linux 上托管 .NET Core
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,