ALTER PROCEDURE [dbo].[sp_SensorsDigitalInDelete] @SensorId INT = NULL, @SerialNumber NVARCHAR (50) = NULL, @errorNumber int output, @errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = '' IF( @SensorId IS NULL) BEGIN IF NULLIF(@SerialNumber,'') IS NULL BEGIN DELETE A FROM [dbo].[SensorChangeHistory] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' DELETE A FROM [dbo].[SensorsDigitalIn] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' DELETE A FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B on A.SensorType=B.TypeId WHERE B.SensorType='DigitalIn' END ELSE BEGIN SELECT @SensorId = A.[Id] FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B ON A.SensorType=B.TypeId WHERE B.SensorType='DigitalIn' AND A.SerialNumber=@SerialNumber DELETE A FROM [dbo].[SensorChangeHistory] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' AND A.SensorId=@SensorId DELETE A FROM [dbo].[SensorsDigitalIn] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' AND A.SensorId=@SensorId DELETE A FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B on A.SensorType=B.TypeId WHERE B.SensorType='DigitalIn' AND A.id=@SensorId END END ELSE BEGIN DELETE A FROM [dbo].[SensorChangeHistory] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' AND A.SensorId=@SensorId DELETE A FROM [dbo].[SensorsDigitalIn] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].SensorsType AS C ON C.TypeId=B.SensorType WHERE C.SensorType='DigitalIn' AND A.SensorId=@SensorId DELETE A FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B on A.SensorType=B.TypeId WHERE B.SensorType='DigitalIn' AND A.id=@SensorId END IF(@@error != 0) BEGIN SET @errorNumber = error_number() SET @errorMessage = error_message() END END