68 lines
6.6 KiB
Transact-SQL
68 lines
6.6 KiB
Transact-SQL
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
|