sql - 更新另一个表中的值
问题描述
我有表 A、B 和 C。我需要从表 A 中的所有行中选择某些值,然后对于 A 中的每一行,我需要更新表 B 和表 C 中的值。
伪代码如下所示:
SELECT A1, A2, A3, A4 FROM Table A
UPDATE Table B SET B2=A2, B3=A3, B4=A4 WHERE B1 = A1;
UPDATE Table C SET C2=A2, C3=A3, C4=A4 WHERE C1 = A1;
我怎样才能做到这一点?
解决方案
在 Oracle 中,您将使用两个更新语句:
update b
set (b2, b3, b4) = (select a2, a3, a4 from a where a.a1 = b.b1);
update c
set (c2, c3, c4) = (select a2, a3, a4 from a where a.a1 = c.b1);
推荐阅读
- jquery - 根据复选框值操作日期选择器天数
- javascript - 什么是链接 Observable 的正确方法
用打字稿(角度)? - javascript - If Else 语句在 .each() 内部不起作用
- c - gcc 不会编译为共享文件夹中的可执行文件
- java - 如何将@BeforeEach 方法与特定的@Test 方法(Java、JUnit)链接起来
- django - Snapchat 的 PKCE 参数
- javascript - 如何知道是空格还是纯文本?
- javascript - 我应该如何使用 node-postgres 客户端构建 node.js 服务器的数据层?
- javascript - 有没有办法在Javascript中替换字符串中的某种格式?
- sql - 如何合并 SQL Select 查询?