ALTER PROCEDURE [dbo].[sp_SensorsDigitalInInsert] @SerialNumber nvarchar(50) ,@SettingMode int ,@ScaleMultiplier nvarchar(50) ,@LastModified datetime ,@LastModifiedBy nvarchar(50) ,@eId nvarchar(50) ,@UserValue1 nvarchar(255) ,@UserValue2 nvarchar(255) ,@UserValue3 nvarchar(255) ,@UserTags varbinary(max) ,@MeasurementUnit nvarchar(50) ,@new_id int output ,@errorNumber int output ,@errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) if(@SerialNumber is null) begin set @errorNumber = 15600 set @errorMessage = 'An invalid parameter or option was specified for procedure' end else begin if(exists(select SerialNumber from v_SensorSerialNumber where SerialNumber = @SerialNumber)) begin set @errorMessage = 'The sensor serial mumber - ' + ltrim(rtrim(@SerialNumber)) + ' is not unique'; set @errorNumber = -1 end else begin INSERT INTO [dbo].[SensorsDigitalIn] ([SerialNumber] ,[SettingMode] ,[ScaleMultiplier] ,[LastModified] ,[LastModifiedBy] ,[eId] ,[UserValue1] ,[UserValue2] ,[UserValue3] ,[UserTags] ,[MeasurementUnit]) VALUES (@SerialNumber ,@SettingMode ,@ScaleMultiplier ,@LastModified ,@LastModifiedBy ,isnull(@eId, space(0)) ,@UserValue1 ,@UserValue2 ,@UserValue3 ,@UserTags ,@MeasurementUnit) set @new_id = scope_identity(); exec dbo.sp_SensorInsert @new_id, 1 /* see table dbo.SensorsType */ end end end