IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SettingsGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_SettingsGet] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SettingsGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SettingsGet] AS' END GO ALTER PROCEDURE [dbo].[sp_SettingsGet] @UserId nvarchar(255) = null ,@PropertyId nvarchar(255) = null AS BEGIN SET NOCOUNT ON; SELECT [PropertyId] ,[PropertyType] ,[PropertyValue] ,[UserId] FROM [dbo].[Settings] where (@UserId is null or [UserId] = @UserId) and (@PropertyId is null or PropertyId = @PropertyId) END GO