PL SQL更新基于来自另一个表的行

时间:2014-08-17 13:17:40

标签: sql oracle plsql oracle-apex

我在APEX A和B中有以下表格。

A有列:

ID_A; 
VALUE;

B有列:

ID_C_FK;
ID_A_FK

我想要更新表VALUE中的A列,其中ID_A等于ID_A_FK的行B中所选行ID_C_FK }等于x

例如:A有行(

ID_A  value
------------
  1     1
  2     1
  3     0
  4     0
  5     0

B有行

ID_C_FK  ID_A_FK
------------------
  8         4
  9         4
  9         5

我想更新表VALUE中的A仅针对从B中选择的行中ID_A的行,并且从B中选择行的条件是ID_C_FK等于x = 9;因此,表A最终应该有行:

ID_A  value
------------
  1      1
  2      1  
  3      0
  4      1
  5      1

如何在PL / SQL中编写此类更新?

感谢您考虑我的要求。

1 个答案:

答案 0 :(得分:4)

我认为这就是你想要的:

update a
    set value = 1
    where exists (select 1
                  from b
                  where b.id_a_fk = a.id_a and b.id_c_fk = 9
                 );