IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_UserPropertiesUpdateInsert]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_UserPropertiesUpdateInsert] 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_UserPropertiesUpdateInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_UserPropertiesUpdateInsert] AS' END GO ALTER PROCEDURE [dbo].[sp_UserPropertiesUpdateInsert] @UserId int ,@PropertyId int ,@PropertyValue nvarchar(max) ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(exists(select UserId from [dbo].[UserProperties] where UserId = @UserId and PropertyId = @PropertyId )) begin exec dbo.sp_UserPropertiesUpdate @UserId, @PropertyId, @PropertyValue, @errorNumber output ,@errorMessage output end else begin exec dbo.sp_UserPropertiesInsert @UserId, @PropertyId, @PropertyValue, @errorNumber output ,@errorMessage output end END GO