UPSERT = UPdate or inSERT

UPSERT (от UPDATE OR INSERT)- условное наименование конструкции на языке SQL, которая
позволяет обновлять данные в таблице или вставлять их, если их еще не существует.

Пример:

UPDATE tablename
SET val1 = :p1,
val2 = :p2
WHERE val3 = :p3;

IF ( sql%rowcount = 0 )
THEN
INSERT INTO tablename
VALUES (:p1, :p2, :p3);
END IF;

обновит таблицу tablename, если val3 = :p3, или вставит новую запись в противном случае.