146 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
GO
 | 
						|
/****** Object:  StoredProcedure [dbo].[vesp_ListItemsTranFrom]    Script Date: 10/03/2012 10:06:38 ******/
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
ALTER PROCEDURE [dbo].[vesp_ListItemsTranFrom]
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
begin
 | 
						|
 | 
						|
Select distinct I.ItemID,I.PreviousID,I.ContentID,I.[DTS],I.[UserID],I.[LastChanged],
 | 
						|
		(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=I.[ItemID]) [AnnotationCount],
 | 
						|
		(SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=I.[ItemID]) [DocVersionCount],
 | 
						|
		(SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=I.[ItemID]) [NextCount],
 | 
						|
		(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=I.[ItemID]) [PartCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=I.[ItemID]) [Transition_RangeIDCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=I.[ItemID]) [Transition_ToIDCount]
 | 
						|
from Items I
 | 
						|
join Transitions T on I.ContentID = T.FromID
 | 
						|
END
 | 
						|
 | 
						|
GO
 | 
						|
/****** Object:  StoredProcedure [dbo].[vesp_ListItemsTranFrom]    Script Date: 10/03/2012 10:06:38 ******/
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
ALTER PROCEDURE [dbo].[vesp_ListItemsTranFrom]
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
begin
 | 
						|
 | 
						|
Select distinct I.ItemID,I.PreviousID,I.ContentID,I.[DTS],I.[UserID],I.[LastChanged],
 | 
						|
		(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=I.[ItemID]) [AnnotationCount],
 | 
						|
		(SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=I.[ItemID]) [DocVersionCount],
 | 
						|
		(SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=I.[ItemID]) [NextCount],
 | 
						|
		(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=I.[ItemID]) [PartCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=I.[ItemID]) [Transition_RangeIDCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=I.[ItemID]) [Transition_ToIDCount]
 | 
						|
from Items I
 | 
						|
join Transitions T on I.ContentID = T.FromID
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
/****** Object:  StoredProcedure [dbo].[vesp_ListItemsTranTo]    Script Date: 10/03/2012 10:08:03 ******/
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
ALTER PROCEDURE [dbo].[vesp_ListItemsTranTo]
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
begin
 | 
						|
with Itemz(ItemID, ContentID, PreviousID, [Type]) as (
 | 
						|
	Select Distinct ItemID, C.ContentID, PreviousID, C.Type
 | 
						|
	FROM [Items] I
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
	JOIN Transitions T on t.ToID = I.ItemID or t.RangeID = I.ItemID
 | 
						|
    --where [ItemID]=@ItemID
 | 
						|
Union ALL
 | 
						|
-- Parent
 | 
						|
  select I.ItemID,I.ContentID, I.PreviousID, C.Type
 | 
						|
	from Itemz Z
 | 
						|
	join Parts P on P.ItemID = Z.ItemID
 | 
						|
	join Items I on I.ContentID = P.ContentID
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
-- Previous
 | 
						|
Union ALL
 | 
						|
  select I.ItemID,I.ContentID, I.PreviousID, C.Type
 | 
						|
	from Itemz Z
 | 
						|
	join Items I on Z.PreviousID = I.ItemID
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
	where Z.Type >= 10000
 | 
						|
)
 | 
						|
Select distinct I.ItemID,I.PreviousID,I.ContentID,I.[DTS],I.[UserID],I.[LastChanged],
 | 
						|
		(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=Z.[ItemID]) [AnnotationCount],
 | 
						|
		(SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=Z.[ItemID]) [DocVersionCount],
 | 
						|
		(SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=Z.[ItemID]) [NextCount],
 | 
						|
		(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=Z.[ItemID]) [PartCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=Z.[ItemID]) [Transition_RangeIDCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=Z.[ItemID]) [Transition_ToIDCount]
 | 
						|
from Itemz Z join Items I on I.ItemID = Z.ItemID
 | 
						|
OPTION (MAXRECURSION 1000)
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
/****** Object:  StoredProcedure [dbo].[vesp_ListItemsTranToAndContent]    Script Date: 10/03/2012 10:08:17 ******/
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
ALTER PROCEDURE [dbo].[vesp_ListItemsTranToAndContent]
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
begin
 | 
						|
with Itemz(ItemID, ContentID, PreviousID, [Type]) as (
 | 
						|
	Select Distinct ItemID, C.ContentID, PreviousID, C.Type
 | 
						|
	FROM [Items] I
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
	JOIN Transitions T on t.ToID = I.ItemID or t.RangeID = I.ItemID
 | 
						|
    --where [ItemID]=@ItemID
 | 
						|
Union ALL
 | 
						|
-- Parent
 | 
						|
  select I.ItemID,I.ContentID, I.PreviousID, C.Type
 | 
						|
	from Itemz Z
 | 
						|
	join Parts P on P.ItemID = Z.ItemID
 | 
						|
	join Items I on I.ContentID = P.ContentID
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
-- Previous
 | 
						|
Union ALL
 | 
						|
  select I.ItemID,I.ContentID, I.PreviousID, C.Type
 | 
						|
	from Itemz Z
 | 
						|
	join Items I on Z.PreviousID = I.ItemID
 | 
						|
	Join Contents C on C.ContentID = I.ContentID
 | 
						|
	where Z.Type >= 10000
 | 
						|
)
 | 
						|
Select distinct I.ItemID,I.PreviousID,I.ContentID,I.[DTS],I.[UserID],I.[LastChanged],
 | 
						|
	C.[Number],C.[Text],C.[Type],C.[FormatID],C.[Config],C.[DTS] [cDTS],C.[UserID] [cUserID],C.[LastChanged] [cLastChanged],
 | 
						|
		(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[I].[ItemID]) [AnnotationCount],
 | 
						|
		(SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[I].[ItemID]) [DocVersionCount],
 | 
						|
		(SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=[I].[ItemID]) [NextCount],
 | 
						|
		(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=[I].[ItemID]) [PartCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=[I].[ItemID]) [Transition_RangeIDCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=[I].[ItemID]) [Transition_ToIDCount],
 | 
						|
		(SELECT COUNT(*) FROM [Details] WHERE [Details].[ContentID]=[C].[ContentID]) [DetailCount],
 | 
						|
		(SELECT COUNT(*) FROM [Entries] WHERE [Entries].[ContentID]=[C].[ContentID]) [EntryCount],
 | 
						|
		(SELECT COUNT(*) FROM [Grids] WHERE [Grids].[ContentID]=[C].[ContentID]) [GridCount],
 | 
						|
		(SELECT COUNT(*) FROM [Images] WHERE [Images].[ContentID]=[C].[ContentID]) [ImageCount],
 | 
						|
		(SELECT COUNT(*) FROM [Items] WHERE [Items].[ContentID]=[C].[ContentID]) [ItemCount],
 | 
						|
		(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ContentID]=[C].[ContentID]) [cPartCount],
 | 
						|
		(SELECT COUNT(*) FROM [RoUsages] WHERE [RoUsages].[ContentID]=[C].[ContentID]) [RoUsageCount],
 | 
						|
		(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[FromID]=[C].[ContentID]) [TransitionCount],
 | 
						|
		(SELECT COUNT(*) FROM [ZContents] WHERE [ZContents].[ContentID]=[C].[ContentID]) [ZContentCount]
 | 
						|
from Itemz Z 
 | 
						|
Join Items I on Z.ItemID = I.ItemID 
 | 
						|
Join Contents C on I.ContentID = C.ContentID
 | 
						|
OPTION (MAXRECURSION 1000)
 | 
						|
END
 |