Which is better. Both methods seem to work, but is one preferable over the other? (execution plans are identical - but no data in table)create table Table1(id int, param1 int, param2 int)declare @id int, @param1 int, @param2 intMERGE dbo.Table1 As TargetUSING ( SELECT @id, @param1, @param2) AS Source (id, param1, param2)ON (Target.id = Source.id)WHEN MATCHED THENUPDATE SET param1 = Source.param1, param2 = Source.param2WHEN NOT MATCHED THENINSERT (id, param1, param2)VALUES (Source.id, Source.param1, Source.param2);MERGE dbo.Table1 As TargetUSING ( SELECT @id, @param1, @param2) AS Source (id, param1, param2)ON (Target.id = Source.id)WHEN MATCHED THENUPDATE SET param1 = @param1, param2 = @param2WHEN NOT MATCHED THENINSERT (id, param1, param2)VALUES (@id, @param1, @param2);
So use the parameters or the Source table created by the params?ThanksHearty head pats