Вы можете просто выдать select
с выражением:
select t1.id, t1.name, replace(replace(t1.details, 'Name', t2.name), 'Id', t2.id)
into l_id, l_name, l2_name
from t t1 join
ta2 t2
on t1.id = t2.id ;
Примечание: запрос возвращает столько строк, сколько он генерирует, что может привести к ошибке.В вашем запросе неясно, что вы действительно хотите сделать.
Если вам нужен update
, возможно, вы намереваетесь просто сбросить имя в одной из таблиц:
update t1
set name = (select t2.name from ta2 where t2.id = ta.id)
where exists (select 1 from ta2 where t2.id = ta.id);