✔ Продолжаем рассказывать о новшествах версии 18.2. Сегодня — о реализации команды MERG...
✔ Продолжаем рассказывать о новшествах версии 18.2. Сегодня — о реализации команды MERGE в нашей реализации T-SQL-диалекта. Для чего нужна команда MERGE ✔ MERGE позволяет одновременно выполнять вставку, обновление или удаление строк в целевой таблице на основе результата соединения с источником данных. Это особенно полезно при синхронизации двух таблиц, когда одна операция заменяет несколько отдельных запросов. Пример использования -- Синхронизация целевой таблицы с источником MERGE INTO Employees AS Target USING NewEmployees AS Source ON Target.id = Source.id WHEN MATCHED AND Target.name != Source.name THEN UPDATE SET name = Source.name, updated = GETDATE() WHEN NOT MATCHED BY TARGET THEN INSERT (id, name, department) VALUES (Source.id, Source.name, Source.department); Как это работает · WHEN MATCHED — если строки совпадают по условию, выполняется обновление; · WHEN NOT MATCHED BY TARGET — если строка есть в источнике, но отсутствует в цели, выполняется вставка; · WHEN NOT MATCHED BY SOURCE — если строка есть в цели, но отсутствует в источнике, можно удалить или обновить её. Области применения · Синхронизация таблиц с эталонным источником данных; · Загрузка изменений из временных таблиц в основные; · Обновление справочников без написания сложной логики проверок. ✔ Команда MERGE доступна в версии Digital Q.DataBase от 15 июня.