Merge (SQL)

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 185.13.112.12 (обсуждение) в 08:21, 27 февраля 2015 (Ссылки). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

Оператор был официально включен в стандарт 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 ...) ;

Ссылки

Источник: http://oracle-wiki.ru/wiki/Merge