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 相关文章推荐
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
Oracle 临时表空间SQL语句的实现
Sep 25 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
解决Oracle数据库用户密码过期
May 11 Oracle
Oracle锁表解决方法的详细记录
Jun 05 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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
php多重接口的实现方法
2015/06/20 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
使用原生js编写一个简单的框选功能方法
2019/05/13 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python 正则表达式(转义问题)
2014/12/15 Python
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
计算机专业毕业生自荐信
2013/12/31 职场文书
学生会竞聘书范文
2014/03/31 职场文书
2014年变电站工作总结
2014/12/19 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android