我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle中update和select关联操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 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 关联内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle中update和select关联操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行Oracle中update和select 关联操作

这期内容当中小编将会给大家带来有关如何进行Oracle中update和select 关联操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、介绍本文主要向大家介绍了Oracle数据库之oracle up
2023-06-26

oracle中update select的作用是什么

在Oracle中,UPDATE SELECT语句用于更新表中的数据,可以根据SELECT语句的结果集来更新数据。这种语法允许根据条件从一个表中选择数据并将其更新到另一个表中,非常灵活和方便。例如,以下是一个UPDATE SELECT语句的
oracle中update select的作用是什么
2024-04-09

joomla1.5中ajax应用于联动菜单讲解和双select操作

总的来说这个应用比较多,我在这里用joomla来作为一个框架使用bwTQRTqVwP,不使用这个也是可以的,你可以自己照着例子做,园子里讲的联动非常多,不多多数是.net,语言虽然相通,但是对从没有接触过.net还是不易理解,这里就用php
2022-06-12

PHP中怎么实现关联数组操作

这篇文章将为大家详细讲解有关PHP中怎么实现关联数组操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。基本的数字格式的数组遍历:
2023-06-17

MySQL中的聚合查询和联合查询操作代码

目录一、聚合查询(行编程与行之间的计算)1.常见的聚合函数有:2.group by3.having二、联合查询(多表查询)1.进行联合查询的步骤:2.内连接(from,join on)3.外连接(left/right join on)4.自
2023-03-20

如何在Teradata中执行复杂的联接和聚合操作

在Teradata中执行复杂的联接和聚合操作可以通过使用SQL语句来实现。以下是一些基本的步骤:编写SQL语句:首先,您需要编写SQL语句来实现所需的联接和聚合操作。这可能涉及到多个表之间的联接、筛选条件和聚合函数等。运行SQL语句:将编
如何在Teradata中执行复杂的联接和聚合操作
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录