-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[mfr__updt__*PartnerSet] @tblname as nvarchar(50) , @referencetable nvarchar(50) , @tgtid bigint AS BEGIN SET NOCOUNT ON; DECLARE @tmp [dbo].[mfr__tt__*PartnerSet]; DECLARE @tmp_cmd nvarchar(1000) = N'SELECT DISTINCT * FROM [' + @tblname + ']'; INSERT INTO @tmp EXECUTE [sp_executesql] @tmp_cmd; MERGE [dbo].[mfr__*PartnerSet] as TARGET USING @tmp as SOURCE ON TARGET.[Property] = SOURCE.[Property] AND TARGET.[PartnerType] = SOURCE.[PartnerType] AND TARGET.[PartnerId] = SOURCE.[PartnerId] AND TARGET.[EntityId] = SOURCE.[EntityId] WHEN MATCHED THEN UPDATE SET [Property] = SOURCE.[Property] ,[PartnerType] = SOURCE.[PartnerType] ,[PartnerId] = SOURCE.[PartnerId] ,[EntityId] = SOURCE.[EntityId] WHEN NOT MATCHED BY TARGET THEN INSERT ( [Property] ,[PartnerType] ,[PartnerId] ,[EntityId]) VALUES (SOURCE.[Property] ,SOURCE.[PartnerType] ,SOURCE.[PartnerId] ,SOURCE.[EntityId]); END