正文:

需实现:将A表的某个字段的值复制到B表中

我们一般会这样写:UPDATE B SET B.NAME = (SELECT A.NAME FROM A WHERE A.NO = B.NO)

出现的问题是:

1,B表中A.NO = B.NO匹配不上的数据行,NAME字段会被清空;

例:A表{[NO1,NAME_A_1]},B表{[NO1,NAME_B_1], [NO2,NAME_B_2]},执行该语句后,B表数据会变成{[NO1,NAME_A_1], [NO2,null]}

2,效率较低,执行时间很长

解决方案:

1,加限制条件,更新的列只能是匹配得上的

UPDATE B SET B.NAME = (SELECT A.NAME FROM A WHERE A.NO = B.NO) WHERE B.NO IN (SELECT A.NO FROM A)

2,merge into

--注意顺序
MERGE IN TO B
USING A
ON (A.NO = B.NO)
WHEN MATCHED THEN
UPDATE SET B.NAME = A.NAME

参考博客:

1,oracle数据库大批量update操作记录 - shenxian1021的专栏 - CSDN博客
https://blog.csdn.net/shenxian1021/article/details/79269042

2,Oracle中的 UPDATE FROM 解决方法 - 穿林度水 - 博客园
https://www.cnblogs.com/clds/p/6016639.html

【Oracle】【8】大批量update某个字段的更多相关文章

  1. 160628、利用Oracle rownum让表排序字段值连续

    利用Oracle rownum让表排序字段值连续 1.需求说明 表(eval_index)中有字段如下: 表字段 描述 说明 ID 主键 GROUP_ID 分组编号 SORT_NUM 排序序号 按照分 ...

  2. Oracle的CLOB大数据字段类型

    转载:https://www.cnblogs.com/Grand-Jon/p/7389427.html 一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARC ...

  3. Oracle 中for update和for update nowait的区别

    http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html 1.for update 和 for update nowait 的区 ...

  4. Oracle使用SQL语句修改字段类型

    Oracle使用SQL语句修改字段类型 1.如果表中没有数据 Sql代码 1 2 3 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....)  alt ...

  5. The The Garbage-First (G1) collector since Oracle JDK 7 update 4 and later releases

    Refer to http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html for detail. 一些内容复制到这儿 Th ...

  6. Oracle中的自动增长字段

    Oracle中的自动增长字段 Oracle 中不像MYSQL 和MSSQLServer 中那样指定一个列为自动增长列的方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段. 在Or ...

  7. oracle的表名、字段名、constraint名的长度限制分别是多少?

    文章出处:http://blog.csdn.net/haiross/article/details/38379615 Oracle:表名.字段名.constraint名的长度有限制 oracle 的命 ...

  8. Oracle中的 UPDATE FROM 解决方法

    转:http://www.cnblogs.com/JasonLiao/archive/2009/12/23/1630895.html Oracle中的 UPDATE FROM 解决方法 在表的更新操作 ...

  9. oracle查看所有表及字段

    oracle表设计 http://blog.csdn.net/lanpy88/article/details/7580820 Oracle查看所有表和字段 获取表: select table_name ...

随机推荐

  1. ionic3.x版本开发问题记录---使用Image Resizer打包报错问题

    按照官方文档安装和使用,最后在打包的时候报错 /platforms/android/src/info/protonet/imageresizer/ImageResizer.java:12: error ...

  2. Mysql数据库配置参数详解大全

    名称 是否需要重启 值 允许值 描述 auto_increment_increment 否 1 1-65,535 auto_increment_increment和auto_increment_off ...

  3. Oracle 数据库逻辑结构2.md

    Oracle 数据库逻辑结构一.存储关系Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据文件组成的:而在逻辑上表空间又是由一个或多个段组成的.在Oracle 数据库 ...

  4. PowerBI新功能: PowerBI多报表共享一个数据集

    在PowerBI里面建模,来来回回摸了一遍之后,肯定不想在另外一个报表的时候重复一次建模--这样不利于复用和维护. 四月份的更新版提供了一个预览功能(如下),可以让多报表(pbix)共享同一个数据集. ...

  5. maven pom添加oracle11驱动

    参考这篇文章 https://blog.csdn.net/youren_zt/article/details/60132324 OracleJDBC驱动包是需要Oracle官方授权才能被下载.mave ...

  6. 利用python脚本(re)抓取美空mm图片

    很久没有写博客了,这段时间一直在搞风控的东西,过段时间我把风控的内容整理整理发出来大家一起研究研究. 这两天抽空写了两个python爬虫脚本,一个使用re,一个使用xpath. 直接上代码——基于re ...

  7. 50.JQ---jQuery 常用小技巧

    1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...

  8. ZooKeeper是什么

    ZooKeeper概念 相信大家对 ZooKeeper 应该不算陌生,但是你真的了解 ZooKeeper 是什么吗?如果别人/面试官让你讲讲 ZooKeeper 是什么,你能回答到哪个地步呢? 本人曾 ...

  9. [macOS] error when brew updating

    I want to update the brew, then run brew update but unluckly, i got these error /usr/local/Library/b ...

  10. element table 二次封装 父子组件传值 组件通信

    新建一个组件(即子组件)table.vue 子组件编辑内容如下图所示 子组件通过props获取父组件传递过来的参数,如下图所示,type指明传递到子组件的数据类型,default指定默认值,一般不给 ...