create table test1 as select * from dba_objects;
create table test2 as select * from dba_objects;
create unique index test1_idx1 on test1(object_id);
select * from test1;
create table test3 as select object_id,object_name from test1
update test1 set object_name='xx';
SQL> update test1 set object_name=(select object_name from test3);
update test1 set object_name=(select object_name from test3)
*
ERROR at line 1:
ORA-01427: single-row subquery returns more than one row
update test1 set test1.object_name=(select test3.object_name from test3 where test1.object_id=test3.object_id)