oracle update 多表关联更新

oracle 多表 关联 更新

先看例子

select t.*, t.rowid from T1 t;

在这里插入图片描述

select t.*, t.rowid from T2 t;

在这里插入图片描述

错误示范:

update t1 set t1.money = (select t2.money from t2 where t2.name = t1.name);

结果:
在这里插入图片描述
因更新条件不够,可以看到name不相等的money为空了,所以要排除name不相等的情况,只更name相等的

方法一:update

 
update t1 set t1.money = (select t2.money from t2 where t2.name = t1.name)
where exists (select 1 from t2 where t2.name = t1.name);

方法二:内联视图更新

update (select t1.money money1,t2.money money2 from t1,t2 where t1.name = t2.name) tset t.money1 = t.money2;

注意: 括号里通过关联两表建立一个视图,set中设置好更新的字段。这个解决方法比写法较直观且执行速度快。但表t2的主键一定要在where条件中,并且是以“=”来关联被更新表,否则报错误:ORA-01779: 无法修改与非键值保存表对应的列。

方法三:merge into更新

    merge into t1using (select t2.name,t2.money from t2) ton (t.name = t1.name)when matched then update  set t1.money = t.money;

方法四:快速游标更新法

(参考:https://www.cnblogs.com/jingbf-BI/p/4909612.html)
begin for cr in (查询语句) loop –-循环 --更新语句(根据查询出来的结果集合) endloop; --结束循环 end; oracle支持快速游标,不需要定义直接把游标写到for循环中,这样就方便了我们批量更新数据。再加上oracle的rowid物理字段(oracle默认给每个表都有rowid这个字段,并且是唯一索引),可以快速定位到要更新的记录上。
例:

begin
for cr in (select a.rowid,b.join_state from t_join_situation a,t_people_info bwhere a.people_number=b.people_number anda.year='2011'and a.city_number='M00000'and a.town_number='M51000')
loopupdate t_join_situation set join_state=cr.join_state whererowid = cr.rowid;
end loop;
end;

结论 方案 建议 标准update语法 单表更新或较简单的语句采用使用此方案更优。 inline view更新法 两表关联且被更新表通过关联表主键关联的,采用此方案更优。 merge更新法 两表关联且被更新表不是通过关联表主键关联的,采用此方案更优。 快速游标更新法 多表关联且逻辑复杂的,采用此方案更优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/60232.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux普通账户变为管理员,你就可以将普通账户升级为管理员账户了

当每台电脑装上系统后,都会有一个Administrator管理员账户,它是Windows默认的最高权限用户,它有权力对系统进行任何等级设置或删除应用,而一般的帐户就只有对这个系统的使用权,没有管理权。那么,我们可以将…

Power Automate Forms 提交表单 到 Teams 群组中的Excel行

新建一个Forms表单 Teams 研究群组 中新建一个 个人信息.xlsx 注意:一定要是xlsx格式 个人信息.xlsx 中 设置表格 在Power Automate 中 找一个 Forms 开始的模板 删除原来SharePoint 的部分 添加Excel Online 选择 在表中插入新行 建立 Forms 和Excel 表格的 对应…

社区电商平台除了小红书,这个运营社群的平台你肯定没用过!

有的阿,比如有赞、粉丝圈、云之家等等......,现在的微信生态圈在不断的完善,不仅仅是社交内容层面上的不断优化,社群平台更多的是打开了服务自己店铺的用户端口,不断在这个空间内扩大自己的用户池。 就来说说粉丝圈吧…

小红书店铺的所有商品API接口(整店商品详情查询接口)

小红书店铺的所有商品API接口(整店商品详情查询接口)代码对接如下: 1.公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中,点击获取请求key和secret )secretString是调用密钥api_nam…

如何打造爆款单品?小红书品牌营销全链路解决方案来了

导语 爆款单品已经成为小红书品牌增长的捷径。爆款单品能让新锐品牌实现从0到1的增长,那么能让网红品牌从1到10吗? 《小红书品牌营销全链路解决方案》专栏第二部分:网红单品打造。与大家一起探讨如何打造爆款单品以及延长它的生命周期。 01…

2021年小红书电商直播趋势报告-小红书数据分析报告

千瓜数据独家推出《2021年小红书电商直播趋势报告》,基于2020年春节期间小红书直播数据,通过直播大盘数据概览、品牌自运营探究、直播观众画像、直播达人洞察等方面,分析小红书直播数据,前瞻2021年小红书电商直播趋势和解决方案。…

直播电商,小红书的商业化“解药”?

配图来自Canva可画 随着互联网流量增长日趋放缓、广告业务逐渐疲软,商业化焦虑就成为了当下整个互联网行业需要共同面对的难题。在此背景下,目前最火热的赛道——互联网直播带货就成为了不少平台和公司寻找新增量的重要方向,以及寻求商业化破…

小红书电商入驻全流程指南

小红书电商入驻全流程指南#小红书 五类店铺入驻要求可售卖类目你知道吗?#运营#干货 你知道小红书的 5 类店铺的入驻要求以及可售卖类目吗?hello,大家好,我是专注搞流量的百收编辑狂潮老师。小红书目前支持的五大类型的店铺分别是…

小红书自研小程序:电商体验与效果优化的运行时体系设计

小程序在其诞生后的几年内,凭借其简单、轻量、流畅、无需安装等特点,引来了爆发式的增长。伴随小红书电商业务的发展,我们洞察到越来越多的商家和品牌大客户有自己定制化需求场景,传统的电商和薯店存在下面三大问题: 为…

facebook怎么运营?

很多做跨境的小伙伴都是通过facebook进行聊天交友,通过facebook平台去做营销引流获客。大家在做facebook营销的时候难免会遇到一些问题,尤其是账号封禁申诉、facebook运营等等一系列内容,下面跨境王营销助手就为大家详细讲解下,希…

以前管Facebook叫“脸书” 现在管Meta叫什么呢

一 硅谷今天的大新闻是Facebook宣布改名了,改叫Meta。 段子挺多,比如国内有媒体宣布,Facebook不要脸了。 还有这张很有趣的图: 不过这张包浆严重的图有个小毛病,按照前后逻辑要一致,google不是google&am…

【WhatsApp营销】如何在Facebook和Instagram上创建Click-to-WhatsApp广告

关键词:WhatsApp营销,Click-to-WhatsApp广告 通过 WhatsApp 中简单快速的客户沟通,公司和客户可以建立直接且有价值的关系。但是,由于WhatsApp不允许企业与用户直接发起会话,要想鼓励客户在WhatsApp上与商家联系&…

双色球系统开发

import java.util.Random; import java.util.Scanner;public class Test8 {public static void main(String[] args) {//双色球系统开发//投注号码由6个红色球号码和1个蓝色球号码组成//红色球号码从1-33中选择,要求选择红球不能重复//蓝色球号码从1-16中选择//共7个…

每日新闻 | 科大讯飞董事长刘庆峰:我国中学生六成作业是重复的

点击蓝字 关注我们 更多精彩,请点击上方蓝字关注我们! 每日新闻播报 第08-02期 1 趋势洞察 科大讯飞董事长刘庆峰:我国中学生六成作业是重复的 在由北京师范大学与科大讯飞联合主办的人工智能与教育大数据峰会上科大讯飞董事长刘庆峰表示&…

科大讯飞董事长刘庆峰:人工智能窗口期有多远?【软件网每日新闻播报│第10-19期】

每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 小编点评 小编: 今儿个 Garner划了4000亿刀的云计算赛道 别跑偏!别掉队! 大家撒丫子跑吧 趋势洞察 科大讯飞董事长刘庆峰:人工智能产业进入窗口期 …

补贴下的科大讯飞:盈利水平堪忧、股东接连减持,刘庆峰没信心?

成立超20年,科大讯飞仍严重依赖补贴,且股东也在接连减持。 10月26日,科大讯飞发布2020年第三季度财报。财报显示,2020年1-9月,科大讯飞营收实现72.84亿元,同比增长10.82%;归属于上市公司股东的…

产业、生态、渠道,三个关键词解码2020年科大讯飞开发者节刘庆峰发言

10月23日,以“AI焕新更美好”为主题的2020年科大讯飞全球1024开发者节在安徽广播电视台亚洲一号演播厅举行。发布会上,科大讯飞董事 长刘庆峰向与会者分享了自己对产业的洞察,并对科大讯飞接下来的发展做了阐述。 01 刘庆峰谈2020人工智能产…

chatgpt赋能python:Python关键词搜索优化

Python关键词搜索优化 Python是一种高级编程语言,通常被用于开发Web应用程序、数据科学、人工智能、机器学习等领域。Python拥有大量的库和框架,能够在很大程度上提升开发效率。 但是,想要在Python领域获得成功,需要了解Python关…

欣奥诚分享:企业最应避讳这八类广告宣传词汇

广告宣传中,企业最应避讳这八类词汇 众所周知,拥有一个朗朗上口、脍炙人口的广告标语、广告口号,对于企业战略部署、发展壮大具有最要作用。一个好的广告标语,不仅可以传达产品买点、展现品牌魅力,激发购买欲望&#…

人工智能本来是个很简单的事,咋被人们整的这么神秘?

(1) 很多人以为大模型的参数量大是因为数据多。 其实大模型的参数量和超参数的配置相关。主要的超参数有下面几个: 词表大小:Vocab_Size最大位置编码大小:Max_Position_embeddings隐层节点数大小:Hidden_Si…