【问题标题】:Merge Oracle update both tables合并 Oracle 更新两个表
【发布时间】:2021-07-15 16:12:35
【问题描述】:

我有以下合并语句:

MERGE INTO table1 t1
USING (
          WITH aux AS (
              SELECT
                  a.*,
                  ROW_NUMBER() OVER(
                      PARTITION BY a.column3
                      ORDER BY
                          a.column4 DESC
                  ) rn
              FROM
                  table2 a
              WHERE
                  condition
          )
          SELECT
              *
          FROM
              aux
          WHERE
              rn = 1
      )
t2 ON ( join condition )
WHEN MATCHED THEN UPDATE
SET t1.column1 = t2.column2,
    t2.column1 = 'X'
WHERE
    conditions;

是否可以在匹配时不仅更新 table1 中的列,还更新 table2 中的列?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    是否可以在匹配时不仅更新 table1 中的列,还更新 table2 中的列?

    不,这是不可能的。您只能使用MERGE 语句更新单个表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      相关资源
      最近更新 更多