Я не уверен, понял ли я контекст данных. Я создал пример, в котором идентификаторы не являются УНИКАЛЬНЫМИ
create table T1 ( name varchar2(55), id number(4,0), entity number(2,0));
create table T2 ( name varchar2(55), id number(4,0), entity number(2,0));
insert into T1 (name, id, entity) values ('T1name1', 1, 1);
insert into T1 (name, id, entity) values ('T1name2', 2, 1);
insert into T1 (name, id, entity) values ('T1name3', 3, 3);
insert into T1 (name, id, entity) values ('T1name4', 4, 4);
insert into T2 (name, id, entity) values ('T2name1', 1, 1);
insert into T2 (name, id, entity) values ('T2name2', 2, 1);
insert into T2 (name, id, entity) values ('T2name3', 3, 3);
insert into T2 (name, id, entity) values ('T2name4', 3, 1);
update T1 set name =
nvl(
( select name
from T2
where T2.id = T1.id
and exists
( select 'x'
from T2 table2
where table2.id = T2.id
group by id
having count(entity) = 1)
)
,T1.name)
. В этом контексте будут обновлены только T1.id = 1 и T1.id = 2 (T2.id = 3 имеет количество (сущность) =2)