DECLARE @SystemParameters TABLE ( [InstanceName] [nvarchar](50) NOT NULL, [InstanceIdentifier] [nvarchar](50) NOT NULL, [ParameterKey] [nvarchar](100) NOT NULL, [ParameterDesc] [nvarchar](500) NOT NULL, [Value] [nvarchar](max) NOT NULL, [DataType] [nvarchar](20) NOT NULL, [AllowDelete] [bit] NOT NULL ); INSERT @SystemParameters ([InstanceName], [InstanceIdentifier], [ParameterKey], [ParameterDesc], [Value], [DataType], [AllowDelete]) VALUES ('CareViewBatches', 'default', 'BatchTypeRetrayInervals', 'defines how many minutes the server waits between retries, in Minutes', '[{"BatchType": "Command","RetryTime": "8"}, { "BatchType": "Configuration", "RetryTime": "8" }, { "BatchType": "Rsu", "RetryTime": "8" }, { "BatchType": "CellularModule", "RetryTime": "30" }]', 'System.String',0) MERGE INTO [dbo].[SystemParameters] AS TARGET USING @SystemParameters AS SOURCE ON SOURCE.InstanceName = TARGET.InstanceName AND SOURCE.InstanceIdentifier = TARGET.InstanceIdentifier AND SOURCE.ParameterKey = TARGET.ParameterKey WHEN NOT MATCHED BY TARGET THEN INSERT (InstanceName,InstanceIdentifier,ParameterKey,ParameterDesc,Value,DataType,AllowDelete) VALUES (SOURCE.InstanceName,SOURCE.InstanceIdentifier,SOURCE.ParameterKey,SOURCE.ParameterDesc,SOURCE.Value,SOURCE.DataType,SOURCE.AllowDelete) WHEN MATCHED THEN UPDATE SET ParameterDesc = SOURCE.ParameterDesc, Value = SOURCE.Value, DataType = SOURCE.DataType, AllowDelete = SOURCE.AllowDelete OUTPUT $action, SOURCE.*;