更新表中的值

时间:2010-10-12 06:23:03

标签: oracle plsql

我想实现这个目标..

update Table_A c 
set c.Column1 = 
(select d.column1 - b.column2
from Table_B d, Table_A b
where b.primary_key = d.primary_key)

但是对于外部查询,我没有添加主键子句..我如何实现它

2 个答案:

答案 0 :(得分:0)

目前还不清楚你想做什么。

你的别名也令人困惑。如果有Table_a且Table_b没有命名Table_a b。

update table_a a1
   set a1.column1 = (select b.column1 - a2.column2
                       from table_b b,
                            table_a a2   
                      where b.primary_key = a2.primary_key)

答案 1 :(得分:0)

您的问题不明确,但我想知道您是否打算这样做correlated subquery

update Table_A a 
set a.Column1 = 
(select b.column1 - a.column2
from Table_B b
where b.primary_key = a.primary_key)

请注意,子查询中的别名“a”指的是主查询中正在更新的行。