Команда MERGE в PL/SQL Oracle
Команда MERGE предназначена для обновления и вставки данных, то есть может работать только как команда вставки или, как команда обновления. Но в тоже время, может выполнять и обновление и вставку данных.
В команде MERGE задается условие для проверки, а также два последующих действия: если условие является истинным, то выполняем команды после WHEN MATCHED THEN, а если условие ложно, то выполняем команды после WHEN NOT MATCHED THEN.
Синтаксис команды MERGE
MERGE INTO имя_таблицы USING (SELECT_запрос) ON (условие) WHEN MATCHED THEN UPDATE SET поле_1 = значение_1 .. WHEN NOT MATCHED THEN INSERT (поле_1, поле_2 ..) VALUES (значение_1, значение_2 ..)