Oracle中update和select 关联操作


Posted in Oracle onJanuary 18, 2022

1、介绍

本文主要向大家介绍了Oracle数据库之oracle update set select from 关联更新,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

工作中有个需求,现在新表中有一些数据跟老表的基本一样,这样只需要把老表中数据搬到新表中就可以了,同时把不同的字段修改下数据即可,在修改字段时发现,需要指定一个条件,比如主键id,来修改某条记录,这样一条一条修改效率太低了,有没有批量操作的方式呢?

goods表:

select gid,code,name,code2 from goods;

Oracle中update和select 关联操作

init_goods表:

select code,name,code2 from init_goods;

Oracle中update和select 关联操作

2、解决方法

2.1、需求

goods表中code2根据init_goods表中code2更新;

2.2、错误演示

下面是一个错误的做法:

update goods set code2 = 
(select code2 from init_goods where init_goods.code = goods.code)

goods表数据无法更新,系统会一直卡主,知道崩溃;

2.3、解决方法

方法一:

update goods set code2 = 
(select code2 from init_goods where init_goods.code = goods.code)
where exists (select 1 from init_goods where init_goods.code = goods.code)

方法二:

update goods goods
set goods.code2 = (select init_goods.code2 from init_goods where init_goods.code = goods.code)
where goods.code = (select init_goods.code from init_goods where init_goods.code = goods.code)

注意:修改的列是code2,条件是 code ;

说明:

如果select 子句可以返回多行记录,但返回适合where条件的记录是唯一的,否则将会报返回单行的select子句返回多行的错误,因为 update只能跟据此处的where子句(内层where)进行相应记录的匹配更新,一次只能是一条。

到此这篇关于Oracle update和select 关联的文章就介绍到这了,更多相关Oracle update和select 关联内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Oracle 相关文章推荐
使用springboot暴露oracle数据接口的问题
May 07 Oracle
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
RPM包方式安装Oracle21c的方法详解
Aug 23 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
关于Oracle12C默认用户名system密码不正确的解决方案
Oct 16 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 #Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Oracle表空间与权限的深入讲解
Nov 17 #Oracle
详解Oracle块修改跟踪功能
Nov 07 #Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 #Oracle
关于Oracle12C默认用户名system密码不正确的解决方案
Oct 16 #Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 #Oracle
You might like
建立动态的WML站点(二)
2006/10/09 PHP
在普通HTTP上安全地传输密码
2007/07/21 PHP
教大家制作简单的php日历
2015/11/17 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
Js动态创建div
2008/09/25 Javascript
jquery 双色表格实现代码
2009/12/08 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Python切换pip安装源的方法详解
2016/11/18 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
python excel多行合并的方法
2020/12/09 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
俄罗斯游戏商店:Buka
2020/03/01 全球购物
行政管理专业推荐信
2013/11/02 职场文书
一名女生的自荐信
2013/12/08 职场文书
2015感人爱情寄语
2015/02/26 职场文书
婚礼父母致辞
2015/07/28 职场文书
餐厅开业活动方案
2019/07/08 职场文书
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers