Value-Added to the Computer Service

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

WRITER
 
この記事を書いている人 - 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回りの書き方をいつも忘れてしまう為、メモします。

 

ヴァックスラボではSE・プログラマを募集中です
私たちと一緒に価値を提供していく新しい仲間を募集します。

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

[spheader position="center"]


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


[/spheader]

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