Fixed logic to find ROs in procedure text.
This commit is contained in:
parent
e3430c7416
commit
ebccc32e4e
@ -6948,3 +6948,57 @@ GO
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: vesp_TurnChangeManagerON Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: vesp_TurnChangeManagerON Error on Creation'
|
||||
GO
|
||||
/****** Object: TableFunction [vefn_FindROUsageIDs] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindROUsageIDs]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_FindROUsageIDs];
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE FUNCTION [dbo].[vefn_FindROUsageIDs](@ContentAuditID int)
|
||||
RETURNS @IDs TABLE
|
||||
(
|
||||
ROUsageID int PRIMARY KEY,
|
||||
ROUsageAction char(3)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @ContentID int
|
||||
DECLARE @text varchar(max)
|
||||
SELECT @ContentID = ContentID,@text = Text FROM ContentAudits WHERE AuditID = @ContentAuditID
|
||||
DECLARE @index1 int
|
||||
DECLARE @index2 int
|
||||
DECLARE @tid varchar(max)
|
||||
DECLARE @trid int
|
||||
WHILE (LEN(@text) > 0)
|
||||
BEGIN
|
||||
SET @index1 = CHARINDEX('#Link:ReferencedObject' , @text)
|
||||
IF (@index1 > 0)
|
||||
BEGIN
|
||||
SET @text = RIGHT(@text, (LEN(@text) - (22 + @index1)))
|
||||
SET @index1 = CHARINDEX(' ', @text)
|
||||
SET @tid = LTRIM(LEFT(@text, @index1))
|
||||
SET @trid = CAST(@tid AS INT)
|
||||
IF EXISTS (SELECT ROUsageID FROM tblROUsages WHERE ROUsageID = @trid AND DeleteStatus < 0)
|
||||
INSERT INTO @IDs VALUES (@trid, 'ADD')
|
||||
ELSE
|
||||
INSERT INTO @IDs VALUES (@trid, NULL)
|
||||
END
|
||||
ELSE
|
||||
SET @text = ''
|
||||
END
|
||||
INSERT INTO @IDs SELECT tt.ROUsageID,'DEL' FROM tblROUsages tt LEFT JOIN @IDs ti ON tt.ROUsageID = ti.ROUsageID WHERE tt.ContentID = @ContentID
|
||||
AND ti.ROUsageID IS NULL
|
||||
DELETE FROM @IDs WHERE ROUsageAction IS NULL
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
-- Display the status of func creation
|
||||
IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_FindROUsageIDs Succeeded'
|
||||
ELSE PRINT 'TableFunction Creation: vefn_FindROUsageIDs Error on Creation'
|
||||
GO
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user