Doing Upserts with the Help of MERGE

Doing Upserts with the Help of MERGE

There will be times that you encounter a situation where you have to update a row, if it exists, or create a new row if the certain data is not already present. There will also be times when you do not want to Insert any duplicate information into a table. All of these scenarios can be implemented with a well-structured SQL MERGE statement, such as the following:

MERGE [Table] WITH (HOLDLOCK) AS tUSING (VALUES ( @ID)) AS s (ID)ON s.ID = t.IDWHEN NOT MATCHED BY TARGET THENINSERT ([Field1],[Field2],[Field3])VALUES (@ValueForField1,@valueForField2,@ValueForField3); 

I checked whether or not an ID already exists inside the table named TABLE. If it doesn’t exist, it will INSERT a new row, otherwise it won’t do anything.


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist