init
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
ALTER PROCEDURE [dbo].[sp_DASInsert]
|
||||
@SerialNumber nvarchar(50) = null
|
||||
,@Type int
|
||||
,@MaxModules int
|
||||
,@MaxMemory bigint
|
||||
,@MaxSampleRate decimal(18,0)
|
||||
,@MinSampleRate decimal(18,0)
|
||||
,@FirmwareVersion nvarchar(50)
|
||||
,@CalDate datetime
|
||||
,@ProtocolVersion int
|
||||
,@LastModified datetime
|
||||
,@LastModifiedBy nvarchar(50)
|
||||
,@Version int
|
||||
,@LocalOnly bit
|
||||
,@LastUsed datetime
|
||||
,@LastUsedBy nvarchar(50)
|
||||
,@Connection nvarchar(50)
|
||||
,@Channels int
|
||||
,@Position nvarchar(50)
|
||||
,@ChannelTypes nvarchar(255)
|
||||
,@Reprogramable bit
|
||||
,@Reconfigurable bit
|
||||
,@IsModule bit
|
||||
,@PositionOnDistributor smallint
|
||||
,@PositionOnChain smallint
|
||||
,@Port smallint
|
||||
,@ParentDAS nvarchar(50)
|
||||
,@FirstUseDate datetime null
|
||||
,@GroupId int null
|
||||
,@TestId int null
|
||||
,@StandIn bit null
|
||||
,@new_id int OUTPUT
|
||||
,@errorNumber int output
|
||||
,@errorMessage nvarchar(250) output
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
set @errorNumber = 0
|
||||
set @errorMessage = space(0)
|
||||
|
||||
SET NOCOUNT ON;
|
||||
if(@SerialNumber is null)
|
||||
begin
|
||||
RAISERROR(15600,-1,-1, 'sp_DASInsert') /* Error 1560 - An invalid parameter or option was specified for procedure*/
|
||||
end
|
||||
else
|
||||
begin
|
||||
INSERT INTO [dbo].[DAS]
|
||||
([SerialNumber]
|
||||
,[Type]
|
||||
,[MaxModules]
|
||||
,[MaxMemory]
|
||||
,[MaxSampleRate]
|
||||
,[MinSampleRate]
|
||||
,[FirmwareVersion]
|
||||
,[CalDate]
|
||||
,[ProtocolVersion]
|
||||
,[LastModified]
|
||||
,[LastModifiedBy]
|
||||
,[Version]
|
||||
,[LocalOnly]
|
||||
,[LastUsed]
|
||||
,[LastUsedBy]
|
||||
,[Connection]
|
||||
,[Channels]
|
||||
,[Position]
|
||||
,[ChannelTypes]
|
||||
,[Reprogramable]
|
||||
,[Reconfigurable]
|
||||
,[IsModule]
|
||||
,[PositionOnDistributor]
|
||||
,[PositionOnChain]
|
||||
,[Port]
|
||||
,[ParentDAS]
|
||||
,[FirstUseDate]
|
||||
,[TestId]
|
||||
,[GroupId]
|
||||
,[StandIn])
|
||||
VALUES
|
||||
( @SerialNumber
|
||||
,@Type
|
||||
,@MaxModules
|
||||
,@MaxMemory
|
||||
,@MaxSampleRate
|
||||
,@MinSampleRate
|
||||
,@FirmwareVersion
|
||||
,@CalDate
|
||||
,@ProtocolVersion
|
||||
,@LastModified
|
||||
,@LastModifiedBy
|
||||
,@Version
|
||||
,@LocalOnly
|
||||
,@LastUsed
|
||||
,@LastUsedBy
|
||||
,@Connection
|
||||
,@Channels
|
||||
,@Position
|
||||
,@ChannelTypes
|
||||
,@Reprogramable
|
||||
,@Reconfigurable
|
||||
,@IsModule
|
||||
,@PositionOnDistributor
|
||||
,@PositionOnChain
|
||||
,@Port
|
||||
,@ParentDAS
|
||||
,@FirstUseDate
|
||||
,@TestId
|
||||
,@GroupId
|
||||
,@StandIn)
|
||||
|
||||
set @new_id = scope_identity();
|
||||
end
|
||||
END
|
||||
@@ -0,0 +1,51 @@
|
||||
ALTER PROCEDURE [dbo].[sp_TestSetupsDeleteManyById]
|
||||
@TestSetupIdList VARCHAR(MAX) = NULL,
|
||||
@errorNumber INT OUTPUT,
|
||||
@errorMessage NVARCHAR(255) OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET @errorNumber = 0;
|
||||
SET @errorMessage = SPACE(0);
|
||||
|
||||
DECLARE @TempIdTable TABLE (Element NVARCHAR(4000), Processed BIT)
|
||||
INSERT INTO @TempIdTable SELECT * FROM dbo.foo_SplitDelimitedString(@TestSetupIdList, ',')
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION [tDeleteTestSetups]
|
||||
DELETE FROM [dbo].[TestSetupObjectMetaData] WHERE TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[TestSetupHardware] WHERE TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[LevelTriggers] WHERE TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[CalculatedChannels] WHERE TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[TestGraphs] WHERE TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
|
||||
/*Delete group channel settings*/
|
||||
DELETE A FROM [dbo].[GroupChannelSettings] AS A INNER JOIN [dbo].[Channels] AS B ON A.ChannelId=B.Id
|
||||
INNER JOIN [dbo].[Groups] AS C ON B.GroupId=C.Id INNER JOIN [dbo].TestSetupGroups AS D ON C.Id=D.GroupId WHERE D.TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
/*Delete group hardware*/
|
||||
DELETE A FROM [dbo].[GroupHardware] AS A INNER JOIN [dbo].[TestSetupGroups] AS B ON A.GroupId=B.GroupId WHERE B.TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
/*Delete group channels*/
|
||||
DELETE A FROM [dbo].[Channels] AS A INNER JOIN [dbo].[TestSetupGroups] AS B ON A.GroupId = B.GroupId WHERE B.TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
/*grab a copy of all groups associated with test so we can delete them*/
|
||||
SELECT [GroupId] INTO #temptable FROM [dbo].[TestSetupGroups] WHERE [TestSetupId] IN ( SELECT Element FROM @TempIdTable)
|
||||
/*unassociate the group from the test setup*/
|
||||
DELETE FROM [dbo].[TestSetupGroups] WHERE [TestSetupId] IN ( SELECT Element FROM @TempIdTable)
|
||||
/*delete the groups*/
|
||||
DELETE FROM [dbo].[Groups] WHERE [Id] IN (SELECT [GroupId] FROM #tempTable)
|
||||
|
||||
/*delete test specific hardware */
|
||||
/*UPDATE [dbo].[Channels] SET [DASId] = 0, [DASChannelIndex]=0 FROM [dbo].[Channels] AS A INNER JOIN [dbo].[DAS] AS B ON A.DASId=B.DASId WHERE B.TestId IN ( SELECT Element FROM @TempIdTable)*/
|
||||
DELETE A FROM [dbo].[TestSetupHardware] AS A INNER JOIN [dbo].[DAS] as B ON A.DASId=B.DASId WHERE B.TestId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE A FROM [dbo].[GroupHardware] AS A INNER JOIN [dbo].[DAS] as B on A.DASId=B.DASId WHERE B.TestId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE A FROM [dbo].[DASChannels] AS A INNER JOIN [dbo].[DAS] AS B on A.DASId=B.DASId WHERE B.TestId IN ( SELECT Element FROM @TempIdTable)
|
||||
DELETE [dbo].[DAS] WHERE [TestId] IN ( SELECT Element FROM @TempIdTable)
|
||||
|
||||
/*finally delete the test setup*/
|
||||
DELETE FROM [dbo].[TestSetups] where TestSetupId IN ( SELECT Element FROM @TempIdTable)
|
||||
COMMIT TRANSACTION [tDeleteTestSetups]
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errorNumber = error_number()
|
||||
SET @errorMessage = error_message()
|
||||
ROLLBACK TRANSACTION [tDeleteTestSetups]
|
||||
END CATCH
|
||||
END
|
||||
@@ -0,0 +1,52 @@
|
||||
ALTER PROCEDURE [dbo].[sp_TestSetupsDeleteManyByName]
|
||||
@TestSetupNameList VARCHAR(MAX) = NULL,
|
||||
@errorNumber INT OUTPUT,
|
||||
@errorMessage NVARCHAR(255) OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET @errorNumber = 0;
|
||||
SET @errorMessage = SPACE(0);
|
||||
|
||||
DECLARE @TempIdTable TABLE (Element NVARCHAR(4000), Processed BIT, TestSetupId INT)
|
||||
INSERT INTO @TempIdTable SELECT Element, Processed, TestSetupId FROM dbo.foo_SplitDelimitedString(@TestSetupNameList, ',') AS TEMP INNER JOIN
|
||||
[dbo].TestSetups AS TS ON TS.TestSetupName = TEMP.Element
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION [tDeleteTestSetups]
|
||||
DELETE FROM [dbo].[TestSetupObjectMetaData] WHERE TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[TestSetupHardware] WHERE TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[LevelTriggers] WHERE TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[CalculatedChannels] WHERE TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE FROM [dbo].[TestGraphs] WHERE TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
|
||||
/*Delete group channel settings*/
|
||||
DELETE A FROM [dbo].[GroupChannelSettings] AS A INNER JOIN [dbo].[Channels] AS B ON A.ChannelId=B.Id
|
||||
INNER JOIN [dbo].[Groups] AS C ON B.GroupId=C.Id INNER JOIN [dbo].TestSetupGroups AS D ON C.Id=D.GroupId WHERE D.TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
/*Delete group hardware*/
|
||||
DELETE A FROM [dbo].[GroupHardware] AS A INNER JOIN [dbo].[TestSetupGroups] AS B ON A.GroupId=B.GroupId WHERE B.TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
/*Delete group channels*/
|
||||
DELETE A FROM [dbo].[Channels] AS A INNER JOIN [dbo].[TestSetupGroups] AS B ON A.GroupId = B.GroupId WHERE B.TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
/*grab a copy of all groups associated with test so we can delete them*/
|
||||
SELECT [GroupId] INTO #temptable FROM [dbo].[TestSetupGroups] WHERE [TestSetupId] IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
/*unassociate the group from the test setup*/
|
||||
DELETE FROM [dbo].[TestSetupGroups] WHERE [TestSetupId] IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
/*delete the groups*/
|
||||
DELETE FROM [dbo].[Groups] WHERE [Id] IN (SELECT [GroupId] FROM #tempTable)
|
||||
|
||||
/*delete test specific hardware */
|
||||
/*UPDATE [dbo].[Channels] SET [DASId] = 0, [DASChannelIndex]=0 FROM [dbo].[Channels] AS A INNER JOIN [dbo].[DAS] AS B ON A.DASId=B.DASId WHERE B.TestId IN ( SELECT TestSetupId FROM @TempIdTable)*/
|
||||
DELETE A FROM [dbo].[TestSetupHardware] AS A INNER JOIN [dbo].[DAS] as B ON A.DASId=B.DASId WHERE B.TestId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE A FROM [dbo].[GroupHardware] AS A INNER JOIN [dbo].[DAS] as B on A.DASId=B.DASId WHERE B.TestId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE A FROM [dbo].[DASChannels] AS A INNER JOIN [dbo].[DAS] AS B on A.DASId=B.DASId WHERE B.TestId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
DELETE [dbo].[DAS] WHERE [TestId] IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
|
||||
/*finally delete the test setup*/
|
||||
DELETE FROM [dbo].[TestSetups] where TestSetupId IN ( SELECT TestSetupId FROM @TempIdTable)
|
||||
COMMIT TRANSACTION [tDeleteTestSetups]
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errorNumber = error_number()
|
||||
SET @errorMessage = error_message()
|
||||
ROLLBACK TRANSACTION [tDeleteTestSetups]
|
||||
END CATCH
|
||||
END
|
||||
Reference in New Issue
Block a user