IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_LastUsedHardwareUpdateInsert]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_LastUsedHardwareUpdateInsert] 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_LastUsedHardwareUpdateInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_LastUsedHardwareUpdateInsert] AS' END GO ALTER PROCEDURE [dbo].[sp_LastUsedHardwareUpdateInsert] @UserId int ,@HardwareID int = 0 ,@SerialNumber varchar(50) ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) SET NOCOUNT ON; if(exists(select [UserID] from [dbo].[LastUsedHardware] WHERE [UserID] = @UserID)) begin exec dbo.sp_LastUsedHardwareUpdate @UserId, @HardwareID, @SerialNumber, @errorNumber output, @errorMessage output end else begin exec dbo.sp_LastUsedHardwareInsert @UserId, @HardwareID, @SerialNumber, @errorNumber output, @errorMessage output end END GO