Следуя моему более раннему запросу Запрос на обновление , я переписал весь запрос следующим образом:
Таблица A связана с таблицей B отношением один ко многим на [PRD_ID, PRD_VER, PY_ID, TPY_ID]
, а таблица C связана с таблицей B отношением один к одному на [PRD_GTIN_ID]
. Мне нужно скопировать столбцы X, Y, Z в таблице A в X, Y, Z в таблице C
DECLARE CURSOR eachRec IS
SELECT cgl.prd_gtin_id,
tc.PRD_SPL_OR_QTY_MULTIPLE
FROM B cgl,
A tc
WHERE cgl.prd_id = tc.prd_id
AND cgl.prd_ver = tc.prd_ver
AND cgl.py_id = tc.py_id
AND cgl.tpy_id = tc.tpy_id;
BEGIN
FOR EACH_ROW IN eachRec
LOOP
UPDATE C
SET C.PRD_ORDER_QTY_MULTIPLE=EACH_ROW.PRD_ORDER_QTY_MULTIPLE
WHERE C.prd_gtin_id = EACH_ROW.prd_gtin_id;
END LOOP;
END;
Запрос, помимо обновления правильных совпадений, также обновляет случайные строки, что неверно. Если кто-нибудь может помочь мне найти проблему с вопросом, который я написал?