Files
DP44/DataPRO/Modules/Database/DatabaseMigrationScripts/.svn/pristine/99/99e619f418ad6fc86e9aa42fea35b2cbeef9602e.svn-base

51 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
CREATE PROCEDURE [dbo].[sp_SensorsStreamOutputUpdateInsert_93]
@Id INT=NULL,
@SerialNumber NVARCHAR (255),
@StreamProfile NVARCHAR (50),
@UDPAddress NVARCHAR (50),
@TimeChannelId INT,
@DataChannelId INT,
@TmNSConfig NVARCHAR (50),
@IRIGTimeDataPacketIntervalMs INT,
@LastModified DATETIME,
@LastModifiedBy NVARCHAR (50),
@UserTags VARBINARY (MAX),
@Broken BIT,
@DoNotUse BIT,
@TMATSIntervalMs INT,
@new_id INT OUTPUT,
@errorNumber INT OUTPUT,
@errorMessage NVARCHAR (255) OUTPUT
AS
BEGIN
SET NOCOUNT ON
SET @errorNumber = 0
SET @errorMessage = ''
DECLARE @SensorType AS TINYINT
DECLARE @SensorId AS INT
SELECT @SensorType = [TypeId] FROM [dbo].[SensorsType] WHERE [SensorType]='StreamOutput'
SELECT @SensorId = A.[Id] from [dbo].[Sensors] AS A INNER JOIN [dbo].SensorsType AS B ON A.SensorType=B.TypeId WHERE B.TypeId=@SensorType AND A.SerialNumber=@SerialNumber
IF( @SensorId IS NULL)
BEGIN
INSERT INTO [dbo].[Sensors] ([SensorType], [SerialNumber]) VALUES (@SensorType, @SerialNumber)
SELECT @SensorId = SCOPE_IDENTITY()
SET @new_id = @SensorId
INSERT INTO [dbo].[SensorsStreamOutput] ([SensorId], [StreamProfile], [UDPAddress], [TimeChannelId], [DataChannelId], [TmNSConfig], [IRIGTimeDataPacketIntervalMs], [LastModified], [LastModifiedBy], [UserTags], [Broken], [DoNotUse], [TMATS_IntervalMS]) VALUES (@SensorId, @StreamProfile, @UDPAddress, @TimeChannelId, @DataChannelId, @TmNSConfig, @IRIGTimeDataPacketIntervalMs, @LastModified, @LastModifiedBy, @UserTags, @Broken, @DoNotUse,@TMATSIntervalMs)
END
ELSE
BEGIN
SET @new_id = @SensorId
UPDATE [dbo].SensorsStreamOutput SET [StreamProfile]=@StreamProfile, [UDPAddress]=@UDPAddress, [TimeChannelId]=@TimeChannelId, [DataChannelId]=@DataChannelId, [TmNSConfig]=@TmNSConfig, [IRIGTimeDataPacketIntervalMs]=@IRIGTimeDataPacketIntervalMs, [LastModified]=@LastModified, [LastModifiedBy]=@LastModifiedBy, [UserTags]=@UserTags, [Broken]=@Broken, [DoNotUse]=@DoNotUse, [TMATS_IntervalMS]=@TMATSIntervalMs WHERE [SensorId] = @SensorId
END
END
IF(@@error != 0)
BEGIN
SET @errorNumber = error_number()
SET @errorMessage = error_message()
END