My scenario
MERGE Books
USING
(
SELECT
MAX(BookId) BookId,
Title,
MAX(Author) Author,
MAX(ISBN) ISBN,
MAX(Pages) Pages
FROM Books
GROUP BY Title
) MergeData ON Books.BookId = MergeData.BookId
WHEN MATCHED THEN
UPDATE SET
Books.Title = MergeData.Title,
Books.Author = MergeData.Author,
Books.ISBN = MergeData.ISBN,
Books.Pages = MergeData.Pages
WHEN NOT MATCHED BY SOURCE THEN DELETE;
GO
SELECT * FROM Books
MERGE Books
USING
(
exec Proc Procname
) MergeData ON Books.BookId = MergeData.BookId
WHEN MATCHED THEN
UPDATE SET
Books.Title = MergeData.Title,
Books.Author = MergeData.Author,
Books.ISBN = MergeData.ISBN,
Books.Pages = MergeData.Pages
WHEN NOT MATCHED BY SOURCE THEN DELETE;
GO
SELECT * FROM Books
Thiru