-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[mfr__updt__attachments] @tblname as nvarchar(50) , @referencetable nvarchar(50) , @tgtid bigint AS BEGIN SET NOCOUNT ON; DECLARE @tmp [dbo].[mfr__tt__attachments]; DECLARE @tmp_cmd nvarchar(1000) = N'SELECT DISTINCT * FROM ' + @tblname INSERT INTO @tmp EXECUTE [sp_executesql] @tmp_cmd; MERGE [dbo].[mfr__attachments] as TARGET USING @tmp as SOURCE ON TARGET.[Id] = SOURCE.[Id] WHEN MATCHED AND (TARGET.[Version] <= SOURCE.[Version]) THEN UPDATE SET [Id] = SOURCE.[Id] ,[Version] = SOURCE.[Version] ,[URI] = SOURCE.[URI] ,[StepId] = SOURCE.[StepId] WHEN NOT MATCHED BY TARGET THEN INSERT ([Id] ,[Version] ,[URI] ,[StepId]) VALUES (SOURCE.[Id] ,SOURCE.[Version] ,SOURCE.[URI] ,SOURCE.[StepId]); END