Пример слияния SQL | Оператор слияния в учебнике по SQL

SQL MERGE STATEMENT — это комбинация операторов INSERT, UPDATE и DELETE. Оператор слияния может выполнять все эти операции в нашей основной целевой таблице, если указана исходная таблица. MERGE очень полезно, когда дело доходит до загрузки таблиц хранилища данных, которые могут быть очень большими и требовать выполнения определенных действий, когда строки присутствуют или отсутствуют.

Оператор слияния SQL

См. Следующий синтаксис.

 MERGE  [AS TARGET] ИСПОЛЬЗОВАНИЕ  [AS SOURCE] ON   [WHEN MATCHED THEN ] [WHEN NOT MATCHED [BY TARGET] THEN ] [WHEN NOT MATCHED BY SOURCETHEN ]; 

# Как использовать ЗАЯВЛЕНИЕ СЛИЯНИЯ SQL

  1. Определите целевую таблицу, которая будет использоваться в этой логике.
  2. Следующим шагом является определение исходную таблицу, которую мы можем использовать в логике.
  3. Следующим шагом является определение соответствующих условий поиска в предложении ON для соответствия строкам.
  4. Реализовать логику когда записи совпадают или не совпадают между целью и источником.
  5. Для каждого из этих сравнений условия записывают логику, d При сопоставлении обычно используется условие обновления, а при отсутствии сопоставления используется оператор вставки или удаления.

Давайте проясним это, посмотрев пример:

Рассмотрим таблицу Продукты : (это будет считаться целевой таблицей).

ID
101 Чай 5,00
201 Чипсы 10,00
301 Кофе 15.00

Updated_Products : (это будет считаться таблицей SOURCE).

ID NAME 101 Чай 5,00 201 Печенье 20,00 301 Кофе 25,00

r>

#QUERY

 ОБЪЕДИНИТЬ ПРОДУКТЫ КАК ЦЕЛЬ ИСПОЛЬЗОВАТЬ ОБНОВЛЕННЫЕ ПРОДУКТЫ КАК  ИСТОЧНИК (TARGET.ID = SOURCE.ID) THEN MATCHED И TARGET.NAME SOUCE.NAMEOR TARGET.PRICE SOURCE.PRICE THENUPDATE SET TARGET.NAME = SOURCE.NAME, TARGET.PRICE = SOURCE.NAME, TARGET.PRICE = SOURCE.  НАЗВАНИЕ, ЦЕНА) ЗНАЧЕНИЯ (ИСТОЧНИК.ID, ИСТОЧНИК.ИМЯ, ИСТОЧНИК.ЦЕНА) ПРИ НЕ СООТВЕТСТВУЕТ ИСТОЧНИКУ THENDELETE; 

#Output

Итак, после выполнения вышеуказанного запроса таблица Products будет заменена таблицей Updated_products.

Вы можете см. таблицу ниже.

ИМЯ ЦЕНА
101 Чай 5.00
201 Печенье 20.00
301 Кофе 25.00

Таким образом, мы можем выполнить все три операции вместе используя предложение MERGE.

ПРИМЕЧАНИЕ:

Мы можем использовать любое имя, кроме источника и цели, для которых мы использовали эти имена дать вам лучшее объяснение.

# Некоторые основные ключевые моменты

  1. Для инструкции MERGE SQL требуется точка с запятой (;) как терминатор оператора. В противном случае будет выдана ошибка 10713.
  2. При использовании оператора MERGE необходимо указать хотя бы одно из трех предложений MATCHED.
  3. Пользователь, использующий оператор MERGE, должен иметь разрешение SELECT для таблицы SOURCE и разрешение INSERT, UPDATE и DELETE. s в таблице TARGET.
  4. При вставке, удалении или обновлении с помощью оператора слияния в SQL Server запускаются все соответствующие триггеры AFTER, определенные в этой целевой таблице, но это не гарантирует, какое действие запускает триггеры первым или последний.

Наконец, пример слияния SQL завершен.

Оцените статью
nanomode.ru
Добавить комментарий