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数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
Lakehouse数据湖并发控制陷阱分析
Mar 31 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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
php2html php生成静态页函数
2008/12/08 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
python openCV获取人脸部分并存储功能
2019/08/28 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
Pytorch to(device)用法
2020/01/08 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
指导教师评语
2014/04/26 职场文书
大学自主招生推荐信
2014/05/10 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js