
[dbo].[DeletedTopicsProcessing]
CREATE PROCEDURE [dbo].[DeletedTopicsProcessing]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @deleteid varchar(40)
SET @deleteid = '{00000000-1FEF-0000-0000-FFD000000000}'
UPDATE document
SET remove_date = GETUTCDATE()
FROM outline
RIGHT JOIN document
ON outline.doc_id = document.doc_id
WHERE
outline.doc_id IS NULL
DELETE FROM document
WHERE remove_date IS NOT NULL AND
doc_type != 'Topic'
DECLARE @tcount int
SELECT @tcount = COUNT(*)
FROM document
WHERE remove_date IS NOT NULL
IF (@tcount > 0)
BEGIN
INSERT INTO document
( doc_id,
doc_name,
doc_type,
create_date,
remove_date )
VALUES
(
@deleteid,
'Deleted Topics',
'Deleted',
GETUTCDATE(),
GETUTCDATE() )
INSERT INTO outline
( order_num,
doc_id,
depth,
parent_id )
VALUES
( 100000000,
@deleteid,
0,
NULL)
INSERT INTO outline
( order_num,
doc_id,
depth,
parent_id)
SELECT
(COUNT(*) + 100000000) AS order_num,
t1.doc_id,
1 AS depth,
@deleteid AS parent_id
FROM document as t1
JOIN document as t2
ON
t1.doc_name + t1.doc_id >= t2.doc_name + t2.doc_id
WHERE t1.remove_date IS NOT NULL AND
t1.doc_id != @deleteid
GROUP BY t1.doc_id, t1. doc_name, t1.doc_type
END
END
GO