CREATE PROCEDURE [dbo].[sp_SensorTestHistoryUpdateInsert] @SensorTestHistoryId bigint=NULL, @TestHistoryId bigint, @SensorId int = NULL, @SerialNumber nvarchar(MAX), @Capacity float=NULL, @Range float=NULL, @CalibrationDate datetime=NULL, @HardwareChannelName nvarchar(MAX)=NULL, @ISOChannelName nvarchar(MAX)=NULL, @ISOCode nvarchar(50)=NULL, @UserChannelName nvarchar(MAX)=NULL, @UserCode nvarchar(50)=NULL, @Sensitivity nvarchar(MAX)=NULL, @FilterClass nvarchar(50)=NULL, @IsProportional bit=NULL, @LinearizationFormula nvarchar(MAX)=NULL, @EID nvarchar(50)=NULL, @MeasuredExcitation decimal(18,0)=NULL, @MeasurementUnit nvarchar(MAX)=NULL, @SamplesPerSecond int=NULL, @AAF int=NULL, @new_id int output, @errorNumber int output, @errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0; set @errorMessage = space(0); begin try IF @SensorTestHistoryId is NOT NULL BEGIN UPDATE [dbo].[SensorTestHistory] SET [TestHistoryId]=@TestHistoryId,[SensorId]=@SensorId,[SerialNumber]=@SerialNumber,[Capacity]=@Capacity,[Range]=@Range,[CalibrationDate]=@CalibrationDate,[HardwareChannelName]=@HardwareChannelName,[ISOChannelName]=@ISOChannelName,[ISOCode]=@ISOCode,[UserChannelName]=@UserChannelName,[UserCode]=@UserCode,[Sensitivity]=@Sensitivity,[FilterClass]=@FilterClass,[IsProportional]=@IsProportional,[LinearizationFormula]=@LinearizationFormula,[EID]=@EID,[MeasuredExcitation]=@MeasuredExcitation,[MeasurementUnit]=@MeasurementUnit,[SamplesPerSecond]=@SamplesPerSecond,[AAF]=@AAF WHERE [SensorTestHistoryId]=@SensorTestHistoryId SET @new_id=@SensorTestHistoryId END ELSE BEGIN INSERT INTO [dbo].[SensorTestHistory] ([TestHistoryId],[SensorId],[SerialNumber],[Capacity],[Range],[CalibrationDate],[HardwareChannelName],[ISOChannelName],[ISOCode],[UserChannelName],[UserCode],[Sensitivity],[FilterClass],[IsProportional],[LinearizationFormula],[EID],[MeasuredExcitation],[MeasurementUnit],[SamplesPerSecond],[AAF]) VALUES (@TestHistoryId,@SensorId,@SerialNumber,@Capacity,@Range,@CalibrationDate,@HardwareChannelName,@ISOChannelName,@ISOCode,@UserChannelName,@UserCode,@Sensitivity,@FilterClass,@IsProportional,@LinearizationFormula,@EID,@MeasuredExcitation,@MeasurementUnit,@SamplesPerSecond,@AAF) set @new_id = scope_identity(); END end try begin catch set @errorMessage = error_message() set @errorNumber = error_number() end catch; END