38 lines
4.4 KiB
Plaintext
38 lines
4.4 KiB
Plaintext
ALTER PROCEDURE [dbo].[sp_SensorsDigitalOutDelete]
|
|
@Id INT = null,
|
|
@SerialNumber NVARCHAR (50) = null,
|
|
@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 B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut'
|
|
DELETE A FROM [dbo].[SensorsDigitalOut] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut'
|
|
DELETE A FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B on A.SensorType = B.TypeId WHERE B.SensorType='DigitalOut'
|
|
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 B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut' AND B.SerialNumber=@SerialNumber
|
|
DELETE A FROM [dbo].[SensorsDigitalOut] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut' 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='DigitalOut' 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 B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut' AND B.id=@Id
|
|
DELETE A FROM [dbo].[SensorsDigitalOut] AS A INNER JOIN [dbo].[Sensors] AS B ON A.SensorId=B.id INNER JOIN [dbo].[SensorsType] AS C ON B.SensorType=C.TypeId WHERE C.SensorType='DigitalOut' AND B.id=@Id
|
|
DELETE A FROM [dbo].[Sensors] AS A INNER JOIN [dbo].[SensorsType] AS B on A.SensorType = B.TypeId WHERE B.SensorType='DigitalOut' AND A.id=@Id
|
|
END
|
|
|
|
IF(@@error != 0)
|
|
BEGIN
|
|
SET @errorNumber = error_number()
|
|
SET @errorMessage = error_message()
|
|
END
|
|
END |