В SQL команда «MERGE» используется для объединения операций вставки, обновления и удаления данных в одном операторе. Он позволяет синхронизировать данные в одной таблице с данными в другой таблице на основе заданного условия. Вот некоторые методы и примеры использования команды «ОБЪЕДИНИТЬ»:
Метод 1: базовый синтаксис слияния
MERGE INTO target_table AS T
USING source_table AS S
ON (T.column = S.column)
WHEN MATCHED THEN
UPDATE SET T.column = S.column
WHEN NOT MATCHED THEN
INSERT (column1, column2, ...)
VALUES (S.column1, S.column2, ...)
WHEN NOT MATCHED BY SOURCE THEN
DELETE;
Метод 2: объединение с дополнительными условиями
MERGE INTO target_table AS T
USING source_table AS S
ON (T.column = S.column)
WHEN MATCHED AND T.column2 = 'value' THEN
UPDATE SET T.column = S.column
WHEN NOT MATCHED AND S.column2 = 'value' THEN
INSERT (column1, column2, ...)
VALUES (S.column1, S.column2, ...)
WHEN NOT MATCHED BY SOURCE AND T.column2 = 'value' THEN
DELETE;
Метод 3: объединение с предложением вывода
MERGE INTO target_table AS T
USING source_table AS S
ON (T.column = S.column)
WHEN MATCHED THEN
UPDATE SET T.column = S.column
WHEN NOT MATCHED THEN
INSERT (column1, column2, ...)
VALUES (S.column1, S.column2, ...)
OUTPUT $action, inserted.*, deleted.*;