Oracle: cómo UPSERT (¿actualizar o insertar en una tabla?)

La operación UPSERT actualiza o inserta una fila en una tabla, dependiendo de si la tabla ya tiene una fila que coincida con los datos:

if table t has a row exists that has key X:
    update t set mystuff... where mykey=X
else
    insert into t mystuff...

Dado que Oracle no tiene una declaración UPSERT específica, ¿cuál es la mejor manera de hacer esto?

Respuestas a la pregunta(12)

Su respuesta a la pregunta