Oracle兩張表關聯批量更新其中一張表的數據 方法一(推薦): 尤其註意最後的外層where條件尤為重要,是鎖定其批量更新數據的範圍。 方法二: ...
Oracle兩張表關聯批量更新其中一張表的數據
方法一(推薦):
UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A);
尤其註意最後的外層where條件尤為重要,是鎖定其批量更新數據的範圍。
方法二:
MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 條件是 A 相同 WHEN MATCHED THEN UPDATE SET 表2.C = 表1.B -- 匹配的時候,更新