IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_LastUsedHardwareUpdate]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_LastUsedHardwareUpdate] 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_LastUsedHardwareUpdate]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_LastUsedHardwareUpdate] AS' END GO ALTER PROCEDURE [dbo].[sp_LastUsedHardwareUpdate] @UserId int ,@HardwareID int = 0 ,@SerialNumber varchar(50) ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) begin try if(@HardwareID = 0) begin select @HardwareID = DASId from DAS where SerialNumber = @SerialNumber end UPDATE [dbo].[LastUsedHardware] SET [SerialNumber] = @SerialNumber WHERE [UserID] = @UserID and [HardwareID] = @HardwareID end try begin catch set @errorMessage = error_message() set @errorNumber = error_number() end catch END GO