У меня есть результат Oracle установить, как показано нижеНевозможно обновить столбец с ROWNUM в Oracle
Мне нужно заменить OLD_ID с RNUM. Я использую следующий запрос
merge into x u
using (
select OLD_ID, FBU_FFF_FFY,FBU_FFY_MONTH,row_number() over (partition by fbu_ffy_month, fbu_fff_ffy order by fbu_ffy_month, fbu_fff_ffy) rnum
from x
) s
on (u.FBU_FFF_FFY= s.FBU_FFF_FFY and u.FBU_FFY_MONTH = s.FBU_FFY_MONTH)
when matched then update set u.OLD_ID = s.rnum;
Это дает мне ошибку оракула
«не в состоянии получить стабильный набор строк в исходных таблицах»
* Причина: Стабильная набор строк может не получить из-за большого dml действия или неопределенного предложения where.
* Действие: Удалите любые неопределенные предложения where и переиздайте dml.
Любые идеи?
застенчивый делает слияние? почему бы не просто обновить? –
Есть ли причина, по которой 'UPDATE X SET OLD_ID = RNUM' не будет работать? –
Условие соединения возвращает более одной строки. – user2672165