加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle SQL:使用来自另一个表的数据更新表

发布时间:2020-12-12 14:58:03 所属栏目:百科 来源:网络整理
导读:表格1: id name desc-----------------------1 a abc2 b def3 c adf 表2: id name desc-----------------------1 x 1232 y 345 在oracle SQL中,如何运行一个sql更新查询,可以更新表1与表2的名称和desc使用相同的id?所以我会得到的最终结果是 表格1: id
表格1:
id    name    desc
-----------------------
1     a       abc
2     b       def
3     c       adf

表2:

id    name    desc
-----------------------
1     x       123
2     y       345

在oracle SQL中,如何运行一个sql更新查询,可以更新表1与表2的名称和desc使用相同的id?所以我会得到的最终结果是

表格1:

id    name    desc
-----------------------
1     x       123
2     y       345
3     c       adf

问题取自sql update query with data from another table,但专门用于oracle SQL。

这被称为相关更新
UPDATE table1 t1
   SET (name,desc) = (SELECT t2.name,t2.desc
                         FROM table2 t2
                        WHERE t1.id = t2.id)
 WHERE EXISTS (
    SELECT 1
      FROM table2 t2
     WHERE t1.id = t2.id )

假设连接产生密钥保存的视图,您也可以

UPDATE (SELECT t1.id,t1.name name1,t1.desc desc1,t2.name name2,t2.desc desc2
          FROM table1 t1,table2 t2
         WHERE t1.id = t2.id)
   SET name1 = name2,desc1 = desc2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读