Files
DP44/DataPRO_sql/dbo.sp_SensorsSquibGet.StoredProcedure.sql
2026-04-17 14:55:32 -04:00

68 lines
6.6 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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