Files
DP44/DataPRO/Modules/Database/DatabaseMigrationScripts/.svn/pristine/d4/d4aeab7d62d3695a8c3fd9f360054cc690dc1596.svn-base
2026-04-17 14:55:32 -04:00

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