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
使用Navicat Premium工具将oracle数据库迁移到MySQL
May 27 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
快速学习Oracle触发器和游标
Jun 30 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
详解SQL的窗口函数
Apr 21 Oracle
解决Oracle数据库用户密码过期
May 11 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 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 魔术函数使用说明
2010/02/21 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
js选项卡的制作方法
2017/01/23 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
js实现表格数据搜索
2020/08/09 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
收集的几个Python小技巧分享
2014/11/22 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
python re模块findall()函数实例解析
2018/01/19 Python
python实现手机通讯录搜索功能
2018/02/22 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
小学生打架检讨书
2014/01/26 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
优秀党员事迹材料
2014/12/18 职场文书
小学班级管理心得体会
2016/01/07 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书