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 相关文章推荐
Oracle 区块链表创建过程详解
May 15 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
Oracle创建只读账号的详细步骤
Jun 07 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
清空 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
一个程序下载的管理程序(四)
2006/10/09 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
接收键盘指令的脚本
2006/06/26 Javascript
Using the TextRange Object
2006/10/14 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
js Math 对象的方法
2013/09/01 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
使用javascript插入样式
2016/03/14 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
vue实现记事本功能
2019/06/26 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python 识别图片中的文字信息方法
2018/05/10 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
英文翻译的自我评价语句
2013/10/04 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
保安队长职务说明书
2014/02/23 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书