Итак, у меня есть следующий запрос, который получает ошибку Duplicate PK
Что я делаю неправильно?
////////
РЕДАКТИРОВАТЬ
PK = ITEM & LOC
MERGE INTO item_loc_traits il
USING (
SELECT item, loc, reward_eligible_ind
FROM (
SELECT dc_vert.item , dc_vert.loc, dc_vert.actie,
dc_vert.reward_eligible_ind,
MAX(dc_vert.actie) over
(PARTITION BY dc_vert.item, dc_vert.loc) actie_max
FROM dc_item_loc_vert dc_vert
)
WHERE actie = actie_max
) dc_vert
ON il.item = dc_vert.item
AND il.loc = dc_vert.loc
WHEN MATCHED THEN
UPDATE
SET il.deposit_code = reward_eligible_ind
, il.last_update_datetime = SYSDATE;
WHEN NOT MATCHED THEN
INSERT (item, loc, deposit_code, last_update_datetime,
last_update_ID, create_datetime)
VALUES (dc_vert.item, dc_vert.loc, dc_vert.reward_eligible_ind,
SYSDATE, 'CNVOBJ_SRC', SYSDATE);