¿ACTUALIZAR en INSERTAR clave primaria duplicada en Oracle?

Tengo una simple consulta INSERT donde necesito usar UPDATE en su lugar cuando la clave primaria es un duplicado. En MySQL esto parece más fácil, en Oracle parece que necesito usar MERGE.

Todos los ejemplos que pude encontrar de MERGE tenían algún tipo de tablas de "fuente" y "destino", en mi caso, la fuente y el destino son la misma tabla. No pude entender los ejemplos para crear mi propia consulta.

¿Es MERGE la única forma o tal vez hay una mejor solución?

INSERT INTO movie_ratings
VALUES (1, 3, 5)

Básicamente es esto y la clave principal son los primeros 2 valores, por lo que una actualización sería así:

UPDATE movie_ratings
SET rating = 8
WHERE mid = 1 AND aid = 3

Pensé en usar un disparador que ejecutara automáticamente la instrucción UPDATE cuando se llamó al INSERT pero solo si la clave primaria es un duplicado. ¿Hay algún problema para hacerlo de esta manera? Sin embargo, necesito ayuda con los desencadenantes, ya que tengo dificultades para tratar de entenderlos y hacer los míos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta