Oracle
 sql >> Base de données >  >> RDS >> Oracle

Quelle est la cause de l'erreur ORA-38104 lors de la fusion SQL ?

Qu'en est-il de cela, la jointure externe signifie le rid sera null et échouera donc, et passera donc dans le WHEN NOT MATCHED partie de la déclaration si vous en avez une

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