48 lines
2.5 KiB
Plaintext
48 lines
2.5 KiB
Plaintext
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_IdGetSensorByType]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
|
|
DROP FUNCTION [dbo].[foo_IdGetSensorByType]
|
|
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].[foo_IdGetSensorByType]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
|
|
BEGIN
|
|
execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_IdGetSensorByType]
|
|
(
|
|
@SerialNumber varchar(50)
|
|
,@SensorType int
|
|
)
|
|
RETURNS int
|
|
AS
|
|
BEGIN
|
|
declare @SensorId int
|
|
|
|
set @SensorId = 0
|
|
|
|
if @SensorType = 0
|
|
begin
|
|
set @SensorId = isnull((select top 1 Id from [dbo].[SensorsAnalog] where SerialNumber = @SerialNumber), 0)
|
|
end
|
|
else if @SensorType = 1
|
|
begin
|
|
set @SensorId = isnull((select top 1 Id from [dbo].[SensorsDigitalIn] where SerialNumber = @SerialNumber), 0)
|
|
end
|
|
else if @SensorType = 2
|
|
begin
|
|
set @SensorId = isnull((select top 1 Id from [dbo].[SensorsDigitalOut] where SerialNumber = @SerialNumber), 0)
|
|
end
|
|
else if @SensorType = 3
|
|
begin
|
|
set @SensorId = isnull((select top 1 Id from [dbo].[SensorsSquib] where SerialNumber = @SerialNumber), 0)
|
|
end
|
|
|
|
return @SensorId
|
|
|
|
END
|
|
|
|
|
|
'
|
|
END
|
|
|
|
GO
|