在 Oracle 中使用 Join 查询进行更新

Update with Join query in Oracle(在 Oracle 中使用 Join 查询进行更新)

本文介绍了在 Oracle 中使用 Join 查询进行更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

查询有什么问题?(无限期执行)

what is wrong in query? (it executes indefinitely)

UPDATE table1 t1 SET (t1.col,t1.Output) = (
  SELECT t2.col, t3.Output + t2.col
  FROM tabl2 t3 
  LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
  WHERE t2.col is not NULL);

请帮帮我.

推荐答案

您的查询对于通用 table1、table2 和 join_key 引用没有多大意义.

Your query does not make a whole lot of sense with the generic table1, table2, and join_key references.

如果这不是您要查找的内容,那么拥有一些示例数据以更好地了解您要查找的结果会很有帮助.

If this is not what you are looking for, it would be helpful to have some sample data to get a better idea of what results you are looking for.

update table1 t1
   set t1.col = (select t2.col
                 from table2 t2
                 where  t1.join_key = t2.join_key(+)  
                  and  t1.col is not null),
       t1.output = (select t2.output + t1.col
                    from  table2 t2
                   where  t1.join_key = t2.join_key(+)  
                     and  t1.col is not null);

这篇关于在 Oracle 中使用 Join 查询进行更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 Oracle 中使用 Join 查询进行更新

基础教程推荐