43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
/*
 | 
						|
Select * from vefn_GetVersionItemsIncludingDeleted('')
 | 
						|
*/
 | 
						|
/*****************************************************************************
 | 
						|
   Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
						|
       Copyright 2013 - Volian Enterprises, Inc. All rights reserved.
 | 
						|
*****************************************************************************/
 | 
						|
Create FUNCTION [dbo].[vefn_GetVersionItemsIncludingDeleted](@DocVersionList varchar(MAX))
 | 
						|
RETURNS @VersionItems TABLE
 | 
						|
(
 | 
						|
 VersionID int,
 | 
						|
 ItemID int,
 | 
						|
 ContentID int primary key
 | 
						|
)
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 BEGIN
 | 
						|
 with Itemz([VersionID], [ItemID], [ContentID]) as 
 | 
						|
 (Select DV.VersionID, [I].[ItemID], [I].[ContentID]
 | 
						|
  FROM [Items] I
 | 
						|
  JOIN vefn_DocVersionSplit(@DocVersionList) DV
 | 
						|
   ON I.[ItemID] = DV.[ItemID]
 | 
						|
 Union All
 | 
						|
 -- Children
 | 
						|
  select Z.VersionID, I.[ItemID], I.[ContentID]
 | 
						|
  from Itemz Z
 | 
						|
  join tblParts P on P.ContentID = Z.ContentID
 | 
						|
  join tblItems I on I.ItemID = P.ItemID
 | 
						|
 Union All
 | 
						|
 -- Siblings
 | 
						|
  select Z.VersionID, I.[ItemID], I.[ContentID]
 | 
						|
  from Itemz Z
 | 
						|
  join tblItems I on I.PreviousID = Z.ItemID
 | 
						|
 )
 | 
						|
 insert into @VersionItems
 | 
						|
 select VersionID, [ItemID], [ContentID]
 | 
						|
  from ItemZ I
 | 
						|
 --Select * From rousages RU Where RU.ContentID in (Select ContentID from ItemZ)
 | 
						|
 OPTION (MAXRECURSION 10000)
 | 
						|
 END
 | 
						|
RETURN
 | 
						|
END |