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设置DB、监听和EM开机启动的方法
Apr 25 Oracle
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
Lakehouse数据湖并发控制陷阱分析
Mar 31 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
Oracle中DBLink的详细介绍
Apr 29 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
PHP异步调用socket实现代码
2012/01/12 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
分享php邮件管理器源码
2016/01/06 PHP
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
Google 地图事件实例讲解
2016/08/06 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
python连接池实现示例程序
2013/11/26 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
简单了解如何封装自己的Python包
2020/07/08 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
HTML5注册页面示例代码
2014/03/27 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
大一学生职业生涯规划
2014/03/11 职场文书
工程售后服务承诺书
2014/05/21 职场文书
推广普通话标语
2014/06/27 职场文书
乐山大佛导游词
2015/02/02 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python