49 lines
1.9 KiB
Plaintext
49 lines
1.9 KiB
Plaintext
|
|
CREATE PROCEDURE [dbo].[sp_SensorsUARTUpdateInsert]
|
||
|
|
@Id INT=NULL,
|
||
|
|
@SerialNumber NVARCHAR (255),
|
||
|
|
|
||
|
|
@BaudRate INT,
|
||
|
|
@DataBits INT,
|
||
|
|
@StopBits NVARCHAR (50),
|
||
|
|
@Parity NVARCHAR (50),
|
||
|
|
@FlowControl NVARCHAR (50),
|
||
|
|
@DataFormat NVARCHAR (50),
|
||
|
|
|
||
|
|
@LastModified DATETIME,
|
||
|
|
@LastModifiedBy NVARCHAR (50),
|
||
|
|
@UserTags VARBINARY (MAX),
|
||
|
|
@Broken BIT,
|
||
|
|
@DoNotUse BIT,
|
||
|
|
@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]='UART'
|
||
|
|
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].[SensorsUART] ([SensorId], [BaudRate], [DataBits], [StopBits], [Parity], [FlowControl], [DataFormat], [LastModified], [LastModifiedBy], [UserTags], [Broken], [DoNotUse]) VALUES (@SensorId, @BaudRate, @DataBits, @StopBits, @Parity, @FlowControl, @DataFormat, @LastModified, @LastModifiedBy, @UserTags, @Broken, @DoNotUse)
|
||
|
|
END
|
||
|
|
ELSE
|
||
|
|
BEGIN
|
||
|
|
SET @new_id = @SensorId
|
||
|
|
UPDATE [dbo].SensorsUART SET [BaudRate]=@BaudRate, [DataBits]=@DataBits, [StopBits]=@StopBits, [Parity]=@Parity, [FlowControl]=@FlowControl, [DataFormat]=@DataFormat, [LastModified]=@LastModified, [LastModifiedBy]=@LastModifiedBy, [UserTags]=@UserTags, [Broken]=@Broken, [DoNotUse]=@DoNotUse WHERE [SensorId] = @SensorId
|
||
|
|
END
|
||
|
|
END
|
||
|
|
IF(@@error != 0)
|
||
|
|
BEGIN
|
||
|
|
SET @errorNumber = error_number()
|
||
|
|
SET @errorMessage = error_message()
|
||
|
|
END
|