首页

文章

update更新多行数据(oracle)

发布网友 发布时间:2024-10-24 17:23

我来回答

1个回答

热心网友 时间:2024-11-06 04:20

笔记总结了在工作中遇到过的几种update方法和各种方法适用的范围。



1. 单表更新方案:使用标准update语法即可,执行稳定且效率较高。格式为update table set (column1,column2,)=value1,value2,;,适用于单表更新。



2. 多表关联更新举例:例如,更新gkfq_rec表中所有slid与oa2_ftask表fi_inst相同的行,将blzt字段值更新为oa2_ftask表的ft_lstate。



方法描述、适用范围、运行效率:




传统方案:适用于一般情况下的单表更新,效率高且稳定。但当涉及多表时,效率较慢。
inline view更新法:适用于关联字段为主键的场景,速度较快。要求B表的主键字段必须在where条件中,并且是以=号来关联被更新表。若条件错误,可能报错。
merge更新法:适用于关联字段非主键的场景,速度较快。通过MERGE INTO语句操作,适用于连接条件不是主键的字段。
快速游标更新法:适用于复杂逻辑情况,效率很高。利用快速游标,支持复杂逻辑的查询语句,更新准确,无论数据多大更新效率依然很高。


具体实现方法如下:




传统方案:

update gkfq_rec aset blzt=(select b.ft_lstate from oa2_ftask b where a.slid=b.fi_inst)where exists(select 1 from oa2_ftask b where a.slid=b.fi_inst);


子查询返回多行值时,通过where exists条件逐行过滤,一一匹配实现set唯一值。



inline view更新法:

update (select a.blzt as blzt,b.ft_lstate as ft_lstatefrom gkfq_rec a,oa2_ftask b where a.slid=b.fi_inst)set blzt=ft_lstate;


要求B表的主键字段必须在where条件中,并且是以=号来关联被更新表,否则可能报错。



merge更新法:

merge into gkfq_rec ausing oa2_ftask bon (a.slid=b.fi_inst)when matched thenupdate set a.blzt=b.ft_lstate;


在alias2中select出来的数据,每一条都跟alias1进行比较,若匹配,就进行更新操作,不匹配,执行插入操作。



快速游标更新法:

beginfor aa in (select a.rowid as rowid,b.ft_lstate as ft_lstate from gkfq_rec a,oa2_ftask bwhere a.slid=b.fi_inst ) loopupdate gkfq_rec set blzt=aa.ft_lstatewhere rowid=aa.rowid;end loop;end;


配合oracle独有的内置ROWID物理字段,使用快速游标,不需要定义,直接把游标写到for循环中,快速定位并执行更新。





综上所述,针对不同的更新需求和场景,选择适合的方法可以提高更新效率和稳定性。在具体操作时,需根据实际数据和业务需求灵活选择。

国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 我的HP笔记本的一开始进入程序的用户名忘记了,怎么办啊~ 笔记本电脑开机密码不记得了.要怎么办,才能登陆阿.急死了 笔记本电脑忘记开机密码了怎么办?急 如何判断狗狗是不是有犬瘟热呢? 姓黄的男孩有哪些好名 黄姓男孩名字大全2025年属蛇 男宝宝阳光帅气名集锦 右卵巢内囊性结构是什么病 减法和差的概念? a减b与c的积,差是几? “不须苦道丰年瑞”的出处是哪里 “从前浪说丰年瑞”的出处是哪里 “昌黎浪说丰年瑞”的出处是哪里 “数载太平丰年瑞”的出处是哪里 “天公已作丰年瑞”的出处是哪里 “疲民尽说丰年瑞”的出处是哪里 “朝来已贺丰年瑞”的出处是哪里 厕所蹲坑怎么安装 蹲坑如何安装 如何安装蹲坑 vivo手机x21屏幕怎么拆vivox21拆屏幕 魔兽考古诀窍 CTM考古巨魔大剑 是450后才有可能出吗还有是一定几率解... 1920x1080分辨率突然变成1024x768了是什么情况 请问哪里可以下载霍桑红字的电影啊?小弟急用啊~ 某部电视剧、电影、小说等等的英文简介,不要太长也不要太短。 急求 谢 ... 上海宏宇香精香料有限公司怎么样? 江苏中海华核环保有限公司怎么样? 北京佳宸宏宇科技有限公司怎么样? 珲春最火三个地方 我对孩子们的“忏悔” 终于,吴彦祖肌肉萎了?这个颓废油腻男是谁?! 抖店体验分初始评分是多少 抖店评分多久清零 抖店有30单多久出体验分 体验分多久清零 华为荣耀4c手机。可以照相。我想录像。可是点了那个红色按键。响了一... 从郑州有几条途径去焦作,分别是坐什么车,晚上最后一班车几点? 急急急急!!!郑州到焦作公交车晚上最后一班车在几点?谢谢 ...现在充电就显示充电灯是红颜色。手机是华为荣耀4C 从郑州到焦作的长途汽车最晚几点发车 现在郑焦公交车最后一班车晚上几点? 华为荣耀4c充电时指示灯亮红色 郑州到焦作的汽车 士在英文是什么意思? 更改离婚协议需要什么证件 离婚协议的内容是否可以反悔 酷睿处理器i7现在在市场中处于一个什么位置,现在性价比如何? 为什么医药是防御板块 现在买ipad2能完美越狱了吗? 专利号ZL 2018113118390.6是什么求大神查一下是不是真的 有没有哪位大神能帮忙查一下专利号2015091701339110的真伪吗 ? 揭秘专利授权流程:从申请到授权的关键步骤详解 比较一下明朝和唐朝的科举考试,指出它们有何不同之处。 一个人成长的句子经典语录 会计控制包括什么控制 会计控制是指什么 会计控制职能的是什么 会计什么是控制 ...不同,从科举制在唐朝于明朝所起的作用说明一下。 大写意大写意名家 什么是会计控制职能 脱硫除尘器新型除尘器 一个盾牌里面一个马 盾牌里面有个马是什么车 每天晚上膝盖难受睡不着怎么办 佳能70D能恢复出厂吗? ...地下室吗?为啥人们都不爱住4 5 7 8 11层呢? 佳能70D能恢复出厂吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com