Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fb2aeb8192 | |||
| 24c25ab26c | 
@@ -24288,8 +24288,23 @@ BEGIN
 | 
			
		||||
		Delete from ROFSTs where ROFSTID not in(select rofstid from Associations) and DTS < @dte
 | 
			
		||||
		delete from roimages where rodbid not in(select rodbid from rofsts) and DTS < @dte
 | 
			
		||||
		delete from documents where docid not in(select docid from entries) and DTS < @dte
 | 
			
		||||
	PRINT 'Temporarally storing Items to delete'
 | 
			
		||||
	    declare @Items table (ItemID bigint PRIMARY KEY, deletestatus int)
 | 
			
		||||
		INSERT INTO @Items
 | 
			
		||||
			Select Child.ItemID, Child.deletestatus
 | 
			
		||||
				FROM tblItems AS Child
 | 
			
		||||
				INNER JOIN tblContents AS parent
 | 
			
		||||
				ON Parent.ContentID = Child.ContentID
 | 
			
		||||
					AND Parent.deletestatus = Child.deletestatus
 | 
			
		||||
				Where
 | 
			
		||||
				parent.deletestatus != 0 and parent.ActionDTS < @dte
 | 
			
		||||
	PRINT 'Phase 1'
 | 
			
		||||
		delete from tblAnnotations where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete tblAnnotations 
 | 
			
		||||
		  from tblAnnotations
 | 
			
		||||
		   INNER JOIN @Items Itms
 | 
			
		||||
		     ON Itms.ItemID = tblAnnotations.ItemID AND tblAnnotations.deletestatus != 0
 | 
			
		||||
 | 
			
		||||
		delete from drousages where docid in(select docid from tbldocuments where deletestatus != 0) and DTS < @dte
 | 
			
		||||
		delete from tblEntries where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete from tblDocuments where deletestatus != 0 and DTS < @dte
 | 
			
		||||
@@ -24297,11 +24312,46 @@ BEGIN
 | 
			
		||||
		delete from tblImages where deletestatus != 0 and DTS < @dte
 | 
			
		||||
	PRINT 'Phase 2'
 | 
			
		||||
		delete from tblROUsages where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete from tblTransitions where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete from tblParts where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete from tblItems where deletestatus != 0 and ItemID Not IN (Select ItemID from Parts) and DTS < @dte
 | 
			
		||||
	PRINT 'Purge Contents'
 | 
			
		||||
		delete from tblContents where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete tblROUsages 
 | 
			
		||||
		   from tblROUsages
 | 
			
		||||
		   INNER JOIN tblContents ON tblContents.ContentID = tblROUsages.ContentID
 | 
			
		||||
		     AND tblContents.deletestatus = tblROUsages.deletestatus
 | 
			
		||||
		    where tblContents.deletestatus != 0 and tblContents.ActionDTS < @dte
 | 
			
		||||
	PRINT 'Deleting Transitions'
 | 
			
		||||
		delete from tblTransitions where deletestatus != 0 and 
 | 
			
		||||
		  (DTS < @dte
 | 
			
		||||
		   OR RangeID in (Select ItemID FROM @Items)
 | 
			
		||||
		   OR ToID in (Select ItemID FROM @Items)
 | 
			
		||||
		   OR FromID in (Select ContentID from tblContents where deletestatus != 0 and ActionDTS < @dte)
 | 
			
		||||
		  )
 | 
			
		||||
	PRINT 'Deleting Items and Parts'
 | 
			
		||||
		delete from tblItems where deletestatus != 0 and DTS < @dte
 | 
			
		||||
		delete from tblParts where deletestatus != 0 and ItemID Not IN (Select ItemID from Items) and DTS < @dte
 | 
			
		||||
	PRINT 'Purging Parts with deleted Contents'
 | 
			
		||||
		DELETE from Child
 | 
			
		||||
		 FROM tblParts AS Child
 | 
			
		||||
		 INNER JOIN tblItems
 | 
			
		||||
		   ON tblItems.ItemID = Child.ItemID
 | 
			
		||||
		    AND tblItems.deletestatus = Child.deletestatus
 | 
			
		||||
		 INNER JOIN tblContents AS parent
 | 
			
		||||
		   ON parent.ContentID = tblItems.ContentID
 | 
			
		||||
		    AND parent.deletestatus = tblItems.deletestatus
 | 
			
		||||
		   Where
 | 
			
		||||
		    parent.deletestatus != 0 and parent.ActionDTS < @dte
 | 
			
		||||
		DELETE FROM tblParts 
 | 
			
		||||
		where deletestatus != 0 AND
 | 
			
		||||
		ContentID in
 | 
			
		||||
         (Select ContentID from tblContents where deletestatus != 0 and ActionDTS < @dte)
 | 
			
		||||
 | 
			
		||||
	PRINT 'Purging Items with deleted Contents'
 | 
			
		||||
	   alter table tblItems nocheck constraint FK_Items_Items
 | 
			
		||||
		DELETE tblItems
 | 
			
		||||
		 FROM tblItems
 | 
			
		||||
		 INNER JOIN @Items Itms
 | 
			
		||||
		   ON Itms.ItemID = tblItems.ItemID AND Itms.deletestatus = tblItems.deletestatus
 | 
			
		||||
	   alter table tblItems check constraint FK_Items_Items
 | 
			
		||||
	PRINT 'Purging Contents'
 | 
			
		||||
		delete from tblContents where deletestatus != 0 and ActionDTS < @dte 
 | 
			
		||||
	PRINT 'Phase 3' 
 | 
			
		||||
		delete from AnnotationAudits where DTS < @dte
 | 
			
		||||
		delete from ContentAudits where DTS < @dte
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user