Попал в проблему «Компонент« Y »должен быть объявлен« пока он объявлен ». Как код должен быть исправлен?Компонент «Y» должен быть объявлен (обновить другую таблицу одним компонентом)
Таблица AB имеет переменную PN, такую же, что и у PARTS. Или, может быть, есть другой способ обновить таблицу с другой информацией о таблице, когда соответствует pn?
DECLARE
CURSOR C1 IS
SELECT * FROM AB LEFT JOIN PARTS ON AB.PN=PARTS.PN where AB.FH_FC_WOF = 'FH' AND AB.OPERATION = 'OH' AND ab.pn=parts.pn ;
BEGIN
FOR i in C1
LOOP
UPDATE PARTS
SET PARTS.OH_HOURS = i.FLIGHT_DURATION
WHERE PARTS.PN=i.PN;
END LOOP;
COMMIT;
END;
Комментарий: «ГДЕ ... И ab.pn = parts.pn» делает LEFT JOIN вести себя как обычное соломенное соединение. Если вы действительно хотите внешнее соединение, переместите это условие в предложение ON! – jarlh
Спасибо, мне нужно использовать курсор. Уже решена проблема, которая была в операции соединения, я не мог выбрать *, так как тогда у нее есть два столбца с одинаковыми данными. – orangutangas