Merge Statement

  1. USE tempdb;  
  2. GO  
  3. BEGIN TRAN;  
  4. MERGE Target AS T  
  5. USING Source AS S  
  6. ON (T.EmployeeID = S.EmployeeID)  
  7. WHEN NOT MATCHED BY TARGET AND S.EmployeeName LIKE 'S%'  
  8. THEN INSERT(EmployeeID, EmployeeName) VALUES(S.EmployeeID, S.EmployeeName)  
  9. WHEN MATCHED  
  10. THEN UPDATE SET T.EmployeeName = S.EmployeeName  
  11. WHEN NOT MATCHED BY SOURCE AND T.EmployeeName LIKE 'S%'  
  12. THEN DELETE  
  13. OUTPUT $action, inserted.*, deleted.*;  
  14. ROLLBACK TRAN;  
  15. GO