Oracle: как сделать UPSERT (обновить или вставить в таблицу?)

Операция UPSERT обновляет или вставляет строку в таблицу, в зависимости от того, есть ли в таблице строка, соответствующая данным:

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

Поскольку у Oracle нет конкретного оператора UPSERT, каков наилучший способ сделать это?

Ответы на вопрос(12)

Ваш ответ на вопрос