ALTER PROCEDURE [dbo].[sp_SensorsSquibDelete] @Id INT, @SerialNumber nvarchar(50), @errorNumber int output, @errorMessage nvarchar(250) output AS BEGIN set @errorNumber = 0 set @errorMessage = space(0) IF( @Id 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='Squib' DELETE A FROM [dbo].[SensorsSquib] 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='Squib' DELETE A FROM [dbo].Sensors AS A INNER JOIN [dbo].[SensorsType] AS B ON A.SensorType=B.TypeId WHERE B.SensorType='Squib' 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='Squib' AND B.SerialNumber=@SerialNumber DELETE A FROM [dbo].[SensorsSquib] 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='Squib' AND B.SerialNumber=@SerialNumber DELETE A FROM [dbo].Sensors AS A INNER JOIN [dbo].[SensorsType] AS B ON A.SensorType=B.TypeId WHERE B.SensorType='Squib' AND A.SerialNumber=@SerialNumber 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='Squib' AND A.SensorId=@Id DELETE A FROM [dbo].[SensorsSquib] 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='Squib' AND A.SensorId=@Id DELETE A FROM [dbo].Sensors AS A INNER JOIN [dbo].[SensorsType] AS B ON A.SensorType=B.TypeId WHERE B.SensorType='Squib' AND A.id = @Id END END if(@@error != 0) begin set @errorNumber = error_number() set @errorMessage = error_message() end