- 内部結合を使用したUPDATE:
UPDATE テーブルA
SET テーブルA.列名 = テーブルB.列名
FROM テーブルA
JOIN テーブルB ON テーブルA.結合キー = テーブルB.結合キー
WHERE 条件;
このコードでは、テーブルAとテーブルBを結合し、結合キーに基づいて列の値を更新します。WHERE句を使用して、更新する行を制限する条件を指定することもできます。
- マルチテーブルUPDATE:
UPDATE (
SELECT テーブルA.列名1, テーブルB.列名2
FROM テーブルA
JOIN テーブルB ON テーブルA.結合キー = テーブルB.結合キー
WHERE 条件
) t
SET t.列名1 = t.列名2;
このコードでは、サブクエリを使用してJOINを行い、更新する列の値を指定します。SET句で更新する列を指定し、サブクエリの結果を参照して更新します。
- EXISTSを使用したUPDATE:
UPDATE テーブルA
SET 列名 = 新しい値
WHERE EXISTS (
SELECT 1
FROM テーブルB
WHERE テーブルA.結合キー = テーブルB.結合キー
AND 条件
);
このコードでは、EXISTS句を使用してテーブルBとの関連性をチェックし、条件に一致する場合にのみ更新を行います。
これらはOracle PL/SQLでJOINを使用したUPDATE文の一般的な方法です。実際の使用場面に応じて、適切な方法を選択してください。また、テーブルや列の名前、結合キー、条件などを実際の環境に合わせて置き換えて使用してください。