if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_UpdateDiscount]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[usp_UpdateDiscount] GO CREATE PROCEDURE [dbo].[usp_UpdateDiscount] -- Add the parameters for the stored procedure here @iDiscountId INT, @dPercentage DECIMAL(5,2), @sStartDate VARCHAR(20), @sEndDate VARCHAR(20), @iActive TINYINT, @sDiscountCode VARCHAR(255)='' AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; BEGIN TRY BEGIN TRANSACTION DECLARE @dtStartDate DATETIME, @dtEndDate DATETIME DECLARE @sErrorStatus CHAR(2) SET @sErrorStatus = 'ok' -- convert the datatype of startdate & enddate parameter to datetime SELECT @dtStartDate = CONVERT(DATETIME,@sStartDate) SELECT @dtEndDate = DATEADD(ms,-3,DATEADD(DAY,1,CONVERT(DATETIME,@sEndDate))) UPDATE Discount SET Percentage = @dPercentage, StartDate = @dtStartDate, EndDate = @dtEndDate, IsActive = @iActive, DiscountCode = @sDiscountCode WHERE Id = @iDiscountId COMMIT SELECT @sErrorStatus as SPStatus END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION SELECT Error_Message() as SPStatus END CATCH END