Если я правильно понимаю эти слова "написать оператор слияния, который может разделить равное количество записей между 100 пользователями" , вам нужно:
merge into table2 tgt
using (
select tb.rwd, ta.a
from (select rownum rn, a, b, c, count(1) over () cnt from table1) ta
join (select rowid rwd, rownum rn, a, b, c, d from table2) tb
on mod(ta.rn, cnt) = mod(tb.rn, cnt)) src
on (tgt.rowid = src.rwd)
when matched then update set a = src.a
dbfiddle
Этот оператор присваивает строки от T1 строкам в T2 в последовательности 1-2-3 -...- 1-2-3 -... , используя функцию mod()
. Конечно, вы можете обновить другие столбцы, если вам нужно, не только A
.