Вы можете найти фон в документах (https://www.postgresql.org/docs/current/sql-update.html), но если у вас есть запрос, который дает желаемый результат, вы можете использовать этот запрос как коррелированный подзапрос в команде обновления:
UPDATE table1 t1 SET (col1, col2, col3) = (select t2.val1, t2.val2, t2.val3 from table2 t2 where t2.table1_id = t1.id)
WHERE t1.col1 IS NULL
В вашем случае это может принять форму или что-то похожее на:
UPDATE package p2 SET (quantity) = (
select ((regexp_match( p.name, '\d+'))[1])::integer + pd.quantity
from package p
left join package_detail pd on pd.package_id = p.id and resource_type_id is null
where p.name like '%Bit%'
and p2.id = p.id
and ((regexp_match( p.name, '\d+'))[1])::integer + pd.quantity IS NOT NULL )
WHERE p2.name like '%Bit%'