oracle-sql UPDATE if conditions are true in multiple tables

oracle-sql UPDATE if conditions are true in multiple tables

我在 sql 中遇到更新语句的问题。如果条件为真(如我的示例所示),我想更新表 1 中的参数 1。

目前我正在尝试这个:

update table1
set table1.param1 = 1
from (select * table1, table2
  where table1.param2=table2.paramA
  and table2.paramB='123456'
  and table1.param3='XXX123');

你可以试试这个。

update (select * 
        from table1 join table2
        on table1.param2=table2.paramA
        where table2.paramB='123456'
        and table1.param3='XXX123') t
set t.param1 = 1

您不需要在子查询中加入。您可以一次性完成加入和更新。请尝试以下查询以获取您的更新。

    update table1 join  table2 on table1.param2=table2.paramA
    set table1.param1 = 1
    where table2.paramB='123456'
    and table1.param3='XXX123';