IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_SensorsSquibGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_SensorsSquibGet] 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_SensorsSquibGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SensorsSquibGet] AS' END GO ALTER PROCEDURE [dbo].[sp_SensorsSquibGet] @ID INT = NULL, @SerialNumber NVARCHAR (50) = null, @EID NVARCHAR (50) = NULL AS BEGIN IF(@ID IS NULL ) BEGIN IF NULLIF(@SerialNumber, '') IS NULL BEGIN IF (@EID IS NULL ) BEGIN SELECT B.id, B.SerialNumber, A.ArticleId, A.BypassCurrentFilter, A.BypassCurrentFilter, A.BypassVoltageFilter, A.DelayMS, A.DurationMS, A.FireMode, A.IsoChannelName, A.IsoCode, A.LastModified, A.LastModifiedBy, A.LimitDuration, A.DefineDelayInTest, A.MeasurementType, A.SquibOutputCurrent, A.SquibToleranceHigh, A.SquibToleranceLow, A.UserChannelName, A.UserCode, A.UserTags, A.UserValue1, A.UserValue2, A.UserValue3, A.Version, A.Broken, A.DoNotUse FROM SensorsSquib AS A INNER JOIN Sensors AS B ON A.SensorId = B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='Squib' END ELSE BEGIN SELECT B.id, B.SerialNumber, A.ArticleId, A.BypassCurrentFilter, A.BypassCurrentFilter, A.BypassVoltageFilter, A.DelayMS, A.DurationMS, A.FireMode, A.IsoChannelName, A.IsoCode, A.LastModified, A.LastModifiedBy, A.LimitDuration, A.DefineDelayInTest, A.MeasurementType, A.SquibOutputCurrent, A.SquibToleranceHigh, A.SquibToleranceLow, A.UserChannelName, A.UserCode, A.UserTags, A.UserValue1, A.UserValue2, A.UserValue3, A.Version, A.Broken, A.DoNotUse FROM SensorsSquib AS A INNER JOIN Sensors AS B ON A.SensorId = B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='Squib' AND A.ArticleId=@EID END END ELSE BEGIN SELECT B.id, B.SerialNumber, A.ArticleId, A.BypassCurrentFilter, A.BypassCurrentFilter, A.BypassVoltageFilter, A.DelayMS, A.DurationMS, A.FireMode, A.IsoChannelName, A.IsoCode, A.LastModified, A.LastModifiedBy, A.LimitDuration, A.DefineDelayInTest, A.MeasurementType, A.SquibOutputCurrent, A.SquibToleranceHigh, A.SquibToleranceLow, A.UserChannelName, A.UserCode, A.UserTags, A.UserValue1, A.UserValue2, A.UserValue3, A.Version, A.Broken, A.DoNotUse FROM SensorsSquib AS A INNER JOIN Sensors AS B ON A.SensorId = B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='Squib' AND B.SerialNumber=@SerialNumber END END ELSE BEGIN SELECT B.id, B.SerialNumber, A.ArticleId, A.BypassCurrentFilter, A.BypassCurrentFilter, A.BypassVoltageFilter, A.DelayMS, A.DurationMS, A.FireMode, A.IsoChannelName, A.IsoCode, A.LastModified, A.LastModifiedBy, A.LimitDuration, A.DefineDelayInTest, A.MeasurementType, A.SquibOutputCurrent, A.SquibToleranceHigh, A.SquibToleranceLow, A.UserChannelName, A.UserCode, A.UserTags, A.UserValue1, A.UserValue2, A.UserValue3, A.Version, A.Broken, A.DoNotUse FROM SensorsSquib AS A INNER JOIN Sensors AS B ON A.SensorId = B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='Squib' AND B.id=@ID END END GO