如何进行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安全错误
数据库的锁怎样保障安全
上海展厅互动软件开发公司
我的世界服务器禁用
360众测共建网络安全
数据库相关文档
河南世通食品企业数据库
联众游戏服务器
sql 查看数据库名称
软件开发专业转软件实施可以吗
亚洲电视app无法连接服务器
数据库创建修改删除表
2u服务器能不能侧着放
新民市妇婴医院医院数据库
计算机服务器是后端吗
女生网络安全就业前景
sql数据库dfq格式
网络安全法规定国家需要
摸排校园网络安全情况说明
爱上安全服务器异常
护苗网络安全课观后感100
网络安全值班外委服务
弥勒服务器显卡多少钱
meta数据库
网络安全团队尖刀疯子
我的世界服务器里面的旁观模式
日企软件开发面试项目介绍
廊坊于同软件开发有限公司
上海新时代网络技术专业服务
上位机软件开发很难吗
xshell数据库用户名是什么
盐城大丰市软件开发大厦