Не удалось получить стабильный набор строк в исходных таблицах?

Когда я использовал оператор слияния, я получил ошибку.

Error code 30926, SQL state 99999: ORA-30926: unable to get a stable set of rows in the source tables

Вот мой запрос:

merge into dept_fc_link l 
using 
(select distinct dept_id,f_id,stk_point from temp_dept_fc_link) t 
on (l.dept_id = t.dept_id) 
when matched then 
update set l.stk_point = t.stk_point 
when not matched then 
insert(l.dept_id,l.f_id,l.stk_point) values(t.dept_id,t.f_id,t.stk_point);

Можете указать на мою ошибку?

1 ответ

Обычно такого рода ошибки случаются при наличии дубликатов в запросе, другими словами, запрос в предложении using возвращает более 1 строки для условия объединения в предложении on. Я не знаю ваших данных, но это хорошее предположение.

Другие вопросы по тегам