ワークテーブルを利用して複数レコードを更新する方法。
WK_PATCH_DATAテーブルに格納しているキー情報を基にTB_CUSTOMERテーブルの各レコードを更新しています。
EXISTSを使ってUPDATEしているところがポイントです。
前提条件
TB_CUSTOMERのデータ
ID NAME POST_CD --------------- 1 テスト太郎 111-0001 2 テスト次郎 111-0002 3 テスト三郎 111-0003
WK_PATCH_DATAのデータ
ID NAME POST_CD --------------- 1 サンプル太郎 222-0001 2 サンプル次郎 222-0002 3 サンプル三郎 222-0003
EXISTSを使ったUPDATE
UPDATE
    TB_CUSTOMER CUS
SET
    (CUS.NAME, CUS.POST_CD) = (
       SELECT
           WRK.NAME
          ,WRK.POST_CD
       FROM
           WK_PATCH_DATA WRK
       WHERE
           WRK.ID = CUS.ID
    )
WHERE
    EXISTS (
        SELECT
            *
        FROM
            WK_PATCH_DATA WRK
        WHERE
            WRK.ID = CUS.ID
    )
;
更新結果
TB_CUSTOMER
ID NAME POST_CD --------------- 1 サンプル太郎 222-0001 2 サンプル次郎 222-0002 3 サンプル三郎 222-0003