Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

UPDATE na chave primária duplicada INSERT no Oracle?


MERGE é a instrução 'do INSERT ou UPDATE conforme apropriado' no SQL padrão e, provavelmente, no Oracle SQL também.

Sim, você precisa de uma 'tabela' para mesclar, mas quase certamente pode criar essa tabela rapidamente:
 MERGE INTO Movie_Ratings M
       USING (SELECT 1 AS mid, 3 AS aid, 8 AS rating FROM dual) N
          ON (M.mid = N.mid AND M.aid = N.aid)
       WHEN     MATCHED THEN UPDATE SET M.rating = N.rating
       WHEN NOT MATCHED THEN INSERT(  mid,   aid,   rating)
                             VALUES(N.mid, N.aid, N.rating);

(Sintaxe não verificada.)