У меня есть запрос MERGE
для обновления данных. В случае несоответствия я вставляю записи в источник, получая вывод во временную таблицу.Слияние SQL-серверов - Получение сопоставленных записей в другую временную таблицу
Можно ли получить совпадающие записи на временную таблицу? В принципе, чтобы избежать дублирования данных в дальнейшей обработке, мне нужно иметь копию согласованных записей.
Это моя MERGE
команда:
MERGE Product.ProductHeaderRepository AS t
USING (SELECT GETDATE() as d, c1, c2, c3,
Name FROM Supplier.ProductHeaderImport
WHERE (BatchID = @BatchID)) AS s
ON dbo.GetProductHeaderId(s.c1,S.c2,S.c3) <0
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name, c1,c2,c3) VALUES (Name, c2,c2,c3)
OUTPUT INSERTED.iD, s.c1, s.c2, s.c3 INTO @TmpTable;
Попробуйте добавить '$ actio n' в вашу 'OUTPUT' и временную таблицу. Я думаю, что он уже делает то, что вы хотите. – HABO