【发布时间】:2019-08-18 23:02:51
【问题描述】:
所以,我有两个表,目标表和源表。我需要删除目标表中存在但源表中不存在的行。
还有代码:
MERGE INTO (SELECT id_car_bk, car_brand_bk, car_type_bk, new_car
FROM car_catalog_backup) CB
USING (SELECT id_car, car_brand, car_type FROM car_catalog) C
ON (CB.id_car_bk = b.id_car)
WHEN NOT MATCHED THEN
INSERT
(CB.id_car_bk, CB.car_brand_bk, CB.car_type_bk)
VALUES
(C.id_car, C.car_brand, C.car_type)
WHEN MATCHED THEN
UPDATE SET CB.car_brand_bk = C.car_brand;
【问题讨论】:
-
那么,您面临的问题是什么?
-
我不知道如何删除这些行
-
WHEN NOT MATCHED BY SOURCE 如果您想在 MERGE 中管理它是理想的方式
标签: sql oracle sql-delete dml sql-merge