2019/01/24

【SQL】【Oracle】 UPDATE…SELECT…で、複数カラムを更新

 

この記事を書いている人 - WRITER -
         

複数テーブルで結合・取得した副問合せ結果を、1テーブルの複数カラムへ更新する OracleでのSQL文サンプルです。
<<実行環境>> Oracle 12.1.0.2.0

UPDATE [TABLE①] A
SET (COLUMN①, COLUMN②) = (
  SELECT B.COLUMN, C.COLUMN
  FROM [TABLE②] B, [TABLE③] C
  WHERE B.COLUMN = C.COLUMN
    AND B.COLUMN = A.COLUMN
)
WHERE EXISTS (SELECT 1 FROM [TABLE②] B2 WHERE B2.COLUMN = A.COLUMN)

 

TABLE②とTABLE③で取得した結果を、TABLE①に上書きしたかったのです。
EXISTS回りの書き方をいつも忘れてしまう為、メモします。

 

44660 views

この記事を書いている人 - WRITER -
 

Copyright© 株式会社ヴァックスラボ , 2018 All Rights Reserved.