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 |