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

前端之家收集整理的这篇文章主要介绍了Oracle SQL:使用来自另一个表的数据更新表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
表格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
原文链接:https://www.f2er.com/oracle/209348.html

猜你在找的Oracle相关文章