Oracle SQL——如何用一个表的数据更新另一个表中的数据
背景
- 一次处理数据的过程中,需要将表A(源表)的数据更新到表B(目标表)中
前提
- 两张表一定要有关联字段
- 使用关联字段联查两张表时,两张表关系必须满足条件:目标表和源表的表间关系一定是多对一或者一对一
使用
- 基本SQL如下
update tableA A set A.val = (select val from tableB B where A.idd = B.idd);
扩展
- 如上SQL中的tableB可以替换成任意一个子查询,典型的是源表和目标表是同一张表,SQL可以扩展如下
update tableA A set A.val =select C.val from (select B.val as val,B.idd as idd from tableA B where A.idd=B.idd) C where A.idd=C.idd;
- 报错
- 错误:ORA-01427:单行子查询返回多个行
- 原因:当前关联条件下,子查询返回多条数据,导致目标表和源表的表间关系成为一对多,导致报错
- Next
Oracle SQL——如何用一个表的数据更新另一个表中的数据的更多相关文章
- Oracle中 如何用一个表的数据更新另一个表中的数据
准备阶段 1.建表语句: create table table1( idd varchar2(10) , val varchar2(20) ); create table table2( idd va ...
- Oracle 中用一个表的数据更新另一个表的数据
Oracle 中用一个表的数据更新另一个表的数据 分类: SQL/PLSQL2012-05-04 15:49 4153人阅读 评论(1) 收藏 举报 oraclemergesubqueryinsert ...
- 【转载】SQL语句用一个表的数据更新另一个表
在Sqlserver的维护更新操作中,有时候涉及到Update操作,其中有一种情况是根据特定的条件,以一个表中的数据更新另一个表的数据,此时涉及到两个表之间的关系以及操作,此处介绍2种更新方法. (1 ...
- mysql从一个表提取数据更新另外一个表(修复表数据的不一致)
目前碰到一个数据不一致的情况,有两张表,一张项目表,一张项目成员表,项目表有个字段是项目工作时间,是项目成员的工作时间汇总.是由于该了逻辑,所以要把数据改成一致. 项目表的大致结构如下. 表名:pro ...
- SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用
sql一张表数据导入另一张表 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; 2.比如要将 arti ...
- Linq多表联合查询,在View中绑定数据
Ⅰ→通过ViewData传递数据,不过需要新建一个类(用来存) NewClass(里面有表1的字段和表2的字段) public class JoinTab1_2 { public int ID { g ...
- SQL Server导入数据报错"无法在只读列“Id”中插入数据"
使用sql server 导入数据报错:无法在只读列'id'中插入数据.如下图所示: 查找出现该问题的原因是表中id为自动增长的标识列,需要在[编辑映射]中勾选"启用标识插入": ...
- Oracle中用一个表的数据更新另一个表的数据
update tbl1 a set (a.col1, a.col2) = (select b.col1, b.col2 from tbl2 ...
- MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)
有两张表,info1, info2 . info1: info2: 现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下: UPDATE info1 t1 JOIN info2 ...
随机推荐
- 百钱白鸡(for循环的练习)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- hdu3853之概率dp入门
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xingyeyongheng/article/details/25205693 LOOPS Time ...
- python 搜索匹配文件目录下所有的jpg或者png图片
import glob PATH_TO_TEST_IMAGES_DIR = 'D:\TrainChangeFifteenData\Picture\Test' for pidImage in glob. ...
- C# 基础才是重中之重~对象的生与死
为何要写 之所以写这篇文章,完全是因为学生们在实际开发中遇到的问题,一个对象占用的内存空间总不被释放,导致系统内存不断攀升,其最主要原因是我们对“对象的生与死”不清楚,或者从来没有认真去考虑过这件事, ...
- PHP实现git部署的方法,可以学学!
https://mp.weixin.qq.com/s/QFpKu8oKoxOEA1BmT7pNhg 在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追 ...
- 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾
区块链.云计算.大数据.人工智能.FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾 | 作者 韩婷 发布于 2016年12月26日. 估计阅读时间: 不到一分钟 | 欲知区块链.VR.Te ...
- mybatis深入理解(八)-----关联表查询
一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...
- Spring线程安全的实现机制--ThreadLocal
转载: http://blog.csdn.net/lufeng20/article/details/24314381
- 采坑“微信小程序”
1.微信小程序变量定义时中间不能使用 “-”. 2.padding值不能为负.
- mysql查询某个字段并修改
比如我存储的数据,有的是 山东,有的是山东省 我想统一改为山东省 UPDATE t_security SET province = REPLACE( province, '山东', '山东省' ) W ...