Ниже показано заявление об обновлении, которое отлично работает,Я использовал оператор with в подзапросе, чтобы значительно улучшить производительность, но по какой-то причине мне не разрешено добавлять дополнительный столбец из той же таблицы для обновления.
Работает:
UPDATE Table_A SET (Col_One) = (WITH OneValue AS (SELECT DISTINCT t.Col_One
FROM Table_Two t, Table_A a
WHERE t.id = a.New_Id))
SELECT Col_One FROM OneValue);
Что я хотел бы сделать, так это просто включить еще один столбец для обновления также из table_two, подобных этому
UPDATE Table_A SET (Col_One, Col_Two) = (WITH OneValue AS (SELECT DISTINCT t.Col_One, T.Col_two
FROM Table_Two t, Table_A a
WHERE t.id = a.New_Id))
SELECT Col_One, Col_Two FROM OneValue);
, но я получаю выражение набора обновлений ora-01767 должно быть подзапросом. Я понимаю эту ошибку, но не вижу, как я ее генерирую. Любая помощь очень ценится.
Заранее спасибо.