sql >> Databáze >  >> RDS >> Oracle

Co je příčinou chyby ORA-38104 při sloučení SQL?

Co takhle, vnější spojení znamená rid bude mít hodnotu null a tedy selže, a tak přejde do WHEN NOT MATCHED část výpisu, pokud jej máte

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


  1. Jak MySQL ukládá data

  2. Porovnání obrazových datových typů v SQL

  3. Referenční hodnota sériového sloupce v jiném sloupci při stejném INSERT

  4. Sada výsledků oddělených čárkami + SQL dotaz