Она возвращаетOracle подзапрос не видит переменную на втором уровне
«недопустимый идентификатор» на «pe.partyid» (уровень 2).
Не могли бы вы посоветовать, как исправить?
update table_x pe
set pe.taxidnumber =
(select tin
from (select tin
,version
,max(version) over(partition by partyid) maxversion
from table_y
where partyid = pe.partyid)
where version = maxversion);
Временная таблица не нужна. Вы можете использовать этот оператор 'select' непосредственно в инструкции' merge'. –
@a_horse_with_no_name Спасибо за комментарий, я знаю это, но я разместил решение с помощью таблицы temp, чтобы избежать confusin с ORA-30926 в случае обновления большего количества столбцов. – Kacper