Stored Procedures [dbo].[Forum_Tracking_ForumGet]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@UserIDint4
@ModuleIDint4
@PageSizeint4
@PageIndexint4
SQL Script


CREATE PROCEDURE dbo.[Forum_Tracking_ForumGet]
    (
      @UserID INT,
      @ModuleID INT,
      @PageSize INT,
      @PageIndex INT
    )
AS
    DECLARE @RowStart INT
    DECLARE @RowEnd INT
                
    SET @RowStart = @PageSize * @PageIndex + 1 ;
    SET @RowEnd = @RowStart + @PageSize - 1 ;

    SELECT  *
    FROM    ( SELECT    TF.ForumID,
                        TF.UserID,
                        TF.ModuleID,
                        F.[Name] AS 'Subject',
                        F.MostRecentPostID,
                        F.TotalPosts,
                        ROW_NUMBER() OVER ( ORDER BY P.CreatedDate DESC ) AS RowNumber,
                        ( SELECT    COUNT(TF.ForumID)
                          FROM      dbo.Forum_TrackedForums TF
                          WHERE     TF.UserID = @UserID
                                    AND TF.ModuleID = @ModuleID
                        ) AS TotalRecords
              FROM      dbo.Forum_TrackedForums TF
                        INNER JOIN dbo.Forum_Forums F ON TF.ForumID = F.ForumID
                        INNER JOIN dbo.Forum_Posts P ON F.MostRecentPostID = P.PostID
              WHERE     TF.UserID = @UserID
                        AND TF.ModuleID = @ModuleID
            ) AS TrackingInfo
    WHERE   RowNumber >= @RowStart
            AND RowNumber <= @RowEnd

GO
Uses