如何进行Oracle中update和select 关联操作
发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这期内容当中小编将会给大家带来有关如何进行Oracle中update和select 关联操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、介绍本文主要向大家介绍
千家信息网最后更新 2024年10月02日如何进行Oracle中update和select 关联操作
这期内容当中小编将会给大家带来有关如何进行Oracle中update和select 关联操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1、介绍
本文主要向大家介绍了Oracle数据库之oracle update set select from 关联更新,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
工作中有个需求,现在新表中有一些数据跟老表的基本一样,这样只需要把老表中数据搬到新表中就可以了,同时把不同的字段修改下数据即可,在修改字段时发现,需要指定一个条件,比如主键id,来修改某条记录,这样一条一条修改效率太低了,有没有批量操作的方式呢?
goods表:
select gid,code,name,code2 from goods;
init_goods表:
select code,name,code2 from init_goods;
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 goodsset 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 关联操作了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
数据
方法
更新
关联
内容
子句
条件
错误
字段
数据库
老表
需求
多行
分析
不同
专业
中小
做法
内容丰富
内层
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
绵阳网络技术调试
徐汇区专业软件开发服务结构设计
网络安全最新舆情
华夏数据网络技术有限公司
贵州省普惠金融发展数据库
恒大集团网络安全需求分析
便宜的数据库安全
部落冲突国内服务器.
原神ps4登录国际服哪个服务器
唐山安卓软件开发
软件开发趋势及发展
ocl2远程服务器返回错误
渤海银行软件开发
学网络技术的女生多么
无法打开数据库什么意思
wp手机软件开发教程
php数据库查询语法
第二代数据库系统是指
软件开发适合哪种成本核算
软件开发费开票名称
平顶山网络技术厂家报价
oracle 数据库复制
java 远程连接数据库
传奇数据库装备不能取下来
咸鱼收二手服务器做网站
江苏省通管局网络安全
分布式云数据库
佛山无限软件开发
dz手机版不显示数据库
政府负责网络安全的部门电话