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 ('AdlProInstallDefaults', 'default', 'NumberOfUsersInPanelLimited', 'Is there a limit to the numer of users that can be defined for a panel', 'True', 'System.Boolean',0)
	INSERT @SystemParameters ([InstanceName], [InstanceIdentifier], [ParameterKey], [ParameterDesc], [Value], [DataType], [AllowDelete]) VALUES ('AdlProInstallDefaults', 'default', 'MaxNumberOfMasterUsersInPanel', 'The max master users that can be defined for a ADL pro account', '2', 'System.Int', 0)
	INSERT @SystemParameters ([InstanceName], [InstanceIdentifier], [ParameterKey], [ParameterDesc], [Value], [DataType], [AllowDelete]) VALUES ('AdlProInstallDefaults', 'default', 'MaxNumberOfStandardUsersInPanel', 'The max standard users that can be defined for a ADL pro account', '8', 'System.Int', 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  InstanceName = SOURCE.InstanceName,
					InstanceIdentifier =SOURCE.InstanceIdentifier,
					ParameterKey = SOURCE.ParameterKey,
					ParameterDesc = SOURCE.ParameterDesc,
					Value = SOURCE.Value,
					DataType = SOURCE.DataType,
					AllowDelete = SOURCE.AllowDelete;

