65 lines
1.3 KiB
Transact-SQL
65 lines
1.3 KiB
Transact-SQL
USE [DataPro]
|
|
GO
|
|
|
|
/****** Object: StoredProcedure [dbo].[sp_CompareGroupHardware] Script Date: 30/01/2019 15:18:38 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
CREATE PROCEDURE [dbo].[sp_CompareGroupHardware]
|
|
|
|
@StaticGroupId INT,
|
|
@EmbeddedGroupId INT,
|
|
@Result BIT OUTPUT
|
|
|
|
AS
|
|
BEGIN
|
|
BEGIN TRY
|
|
DECLARE @tStaticHardware table (
|
|
DASId INT
|
|
,Processed BIT)
|
|
|
|
DECLARE @tEmbeddedHardware table (
|
|
DASId INT)
|
|
|
|
INSERT INTO @tStaticHardware
|
|
SELECT DASId
|
|
,0
|
|
FROM [dbo].[GroupHardware] WHERE GroupId = @StaticGroupId ORDER BY DASId
|
|
|
|
INSERT INTO @tEmbeddedHardware
|
|
SELECT DASId
|
|
FROM [dbo].[GroupHardware] WHERE GroupId = @EmbeddedGroupId ORDER BY DASId
|
|
|
|
WHILE ((SELECT COUNT(*) From @tStaticHardware Where Processed = 0) > 0)
|
|
BEGIN
|
|
DECLARE @StaticDASId INT
|
|
DECLARE @EmbeddedDASId INT
|
|
|
|
SELECT TOP 1
|
|
@StaticDASId = DASId
|
|
FROM @tStaticHardware WHERE Processed = 0
|
|
|
|
IF ((SELECT COUNT(*) FROM @tEmbeddedHardware WHERE DASId = @StaticDASId) = 0)
|
|
BEGIN
|
|
SET @Result = 0
|
|
RETURN;
|
|
END
|
|
|
|
UPDATE @tStaticHardware set [Processed] = 1 where DASId = @StaticDASId
|
|
END
|
|
SET @Result = 1
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @Result = 0
|
|
END CATCH
|
|
END
|
|
|
|
|
|
GO
|
|
|
|
|