Wat dacht je hiervan, de outer join betekent de rid
zal null zijn en dus mislukken, en dus overgaan in de WHEN NOT MATCHED
deel van de verklaring als je die hebt
MERGE INTO target_table tgt
USING ( SELECT t2.ROWID AS rid
, s2.c2
FROM target_table t2
, source_table s2
WHERE t2.c1 (+) = s2.c1
) src
ON (tgt.rowid = src.rid)
WHEN MATCHED THEN
UPDATE SET tgt.c1=src.c2