Oracle テーブルのSELECTした結果でUPDATEするサンプル
環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production
PL/SQL Release 11.2.0.1.0 – Production
構文
UPDATE {テーブル1}
SET {列1} = (SELECT {列A} FROM テーブル2 WHERE 条件式)
,{列2} = 値2
WHERE {条件式}
SELECTした結果でUPDATEします。
「UPDATE SET」で更新列と値を指定しますが、「値」をセットする箇所にSELECT文を挿入します。
操作例
1.user_tblテーブル
userno username postnum addr T123 東京太郎 123-4567 東京都品川区1-2-3
2.posttblテーブル
postnum addr 123-4567 東京都品川区1-2-3 123-4568 東京都品川区4-5-6
3.UPDATE SELECTのサンプル
SQL構文
UPDATE USER_TBL SET ADDR = ( SELECT ADDR FROM POSTTBL WHERE POSTNUM = '123-4568' ) , POSTNUM = '123-4568' WHERE USERNO = 'T123';
説明
user_tblテーブルの「addr」を別テーブル「posttbl」テーブルの内容で更新します。