Я запускаю слияние в SQL Server. В моем обновлении я хочу только обновить строку, если значения были изменены. Существует строка версии, которая увеличивается при каждом обновлении. Ниже приведен пример:
MERGE Employee as tgt USING
(SELECT Employee_History.Emp_ID
, Employee_History.First_Name
, Employee_History.Last_Name
FROM Employee_History)
as src (Emp_ID,First_Name,Last_Name)
ON tgt.Emp_ID = src.Emp_ID
WHEN MATCHED THEN
UPDATE SET
Emp_ID = src.Emp_ID,
,[VERSION] = tgt.VERSION + 1
,First_Name = src.First_Name
,Last_Name = src.Last_Name
WHEN NOT MATCHED BY target THEN
INSERT (Emp_ID,0,First_Name,Last_Name)
VALUES
(src.Emp_ID,[VERSION],src.First_Name,src.Last_Name);
Теперь, если я хотел только обновить строку и, таким образом, увеличить версию, ТОЛЬКО, если имя изменилось.