Come puoi vedere qui
Ciò significa che la tua sottoquery
select distinct(did) from datastore.get_dept_alias
where upper(ltrim(rtrim(deptalias))) = upper(ltrim(rtrim(PT."Dept Descr")))
AND cid = PT.CID)
restituisce più di una riga.
Quindi, sei sicuro che distinct (did)
è unico? Sembra che non lo sia. Non consiglio di usare where rownum = 1
perché non sai quale dei valori verrà utilizzato per l'aggiornamento; a meno che non utilizzi ORDER BY.