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 相关文章推荐
使用Navicat Premium工具将oracle数据库迁移到MySQL
May 27 Oracle
Oracle创建只读账号的详细步骤
Jun 07 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
oracle重置序列从0开始递增1
Feb 28 Oracle
Lakehouse数据湖并发控制陷阱分析
Mar 31 Oracle
Oracle使用别名的好处
Apr 19 Oracle
详解SQL的窗口函数
Apr 21 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
分析SQL窗口函数之取值窗口函数
Apr 21 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
Oracle中日期的使用方法实例
Jul 07 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
星际实力自我测试
2020/03/04 星际争霸
Yii2.0表关联查询实例分析
2016/07/18 PHP
jQuery select操作控制方法小结
2010/05/26 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JS hashMap实例详解
2016/05/26 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
python动态网页批量爬取
2016/02/14 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python elasticsearch环境搭建详解
2019/09/02 Python
Python imread、newaxis用法详解
2019/11/04 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
信用社实习人员自我鉴定
2013/09/20 职场文书
会计电算化专业应届大学生求职信
2013/10/22 职场文书
双方协议书
2014/04/22 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
岳庙导游词
2015/02/04 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
教师见习总结范文
2015/06/23 职场文书
小学语文国培研修日志
2015/11/13 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记