Merge (SQL)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Merge — оператор языка SQL, который позволяет слиять данные одной таблицы с данными другой таблицы. При слиянии таблиц проверяется условие, и если оно истинно, то выполняется Update, а если нет - Insert. Причём нельзя изменять поля таблицы в секции Update, по которым идет связывание двух таблиц. Данные изменяются или добавляются только для таблицы в предложении MERGE INTO, таблица в предложении USING остается без изменений.

Оператор был официально включён в стандарт SQL:2008.

Пример[править | править код]

 MERGE INTO table_name USING table_reference ON (condition)
   WHEN MATCHED THEN
   UPDATE SET column1 = value1 [, column2 = value2 …]
   WHEN NOT MATCHED THEN
   INSERT (column1 [, column2 …]) VALUES (value1 [, value2 …]);

Ссылки[править | править код]

Источник: https://web.archive.org/web/20111120170710/http://oracle-wiki.ru/wiki/Merge