IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SettingsUpdate]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_SettingsUpdate] 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_SettingsUpdate]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SettingsUpdate] AS' END GO ALTER PROCEDURE [dbo].[sp_SettingsUpdate] @PropertyId nvarchar(255) ,@PropertyValue nvarchar(255) ,@UserId nvarchar(255) = null ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(@UserId is null) begin RAISERROR(15600,-1,-1, '[sp_SettingsUpdate]') /* Error 1560 - An invalid parameter or option was specified for procedure*/ end else begin UPDATE [dbo].[Settings] SET [PropertyValue] = @PropertyValue WHERE [UserId] = @UserId and PropertyId = @PropertyId end END GO