使用Oracle SQL更新表数据
在处理Oracle SQL等关系数据库时,您可能会遇到需要使用另一个表中的数据更新表的场景。此任务通常使用SQL的UPDATE命令执行。
问题:
假设有两个表,表1和表2,两者都包含id、name和desc列,要求您根据匹配的id值使用表2中的相应数据更新表1中的数据。期望的结果是表1应使用表2中对应id值的name和desc值进行更新。
解决方案:
为了实现此更新,您可以使用Oracle SQL中的相关更新。以下是详细方法:
<code class="language-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 );</code>
说明:
替代方法(假设键保留视图):
如果表1和表2之间的连接结果形成一个键保留视图,您也可以使用以下方法:
<code class="language-sql">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;</code>
说明:
以上是如何使用另一个表中的数据更新 Oracle SQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!