SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_UpdateLicenseModuleStatus]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[usp_UpdateLicenseModuleStatus] GO -- ==================================================== -- Author: Magic Software -- Create date: 06-Feb-2018 -- Description: To insert or update the module status on or off for a license -- ==================================================== CREATE PROCEDURE [dbo].[usp_UpdateLicenseModuleStatus] @LicenseId int, @ModuleId int, @ModuleStatus bit, @Status bit out AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; set @Status = 0; BEGIN TRY BEGIN TRANSACTION if(exists(select * from ModuleToLicense where ModuleId = @ModuleId and LicenseId = @LicenseId)) begin UPDATE ModuleToLicense SET Status = @ModuleStatus where ModuleId = @ModuleId and LicenseId = @LicenseId; end else begin insert into ModuleToLicense(LicenseId, ModuleId, Status) values(@LicenseId, @ModuleId, @ModuleStatus); end COMMIT TRANSACTION set @Status = 1; END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION END CATCH END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO