Stored Procedure Properties
| Name | Value |
|---|---|
| Owner | dbo |
| Created | 2004-05-31 |
| Startup | False |
| Encrypted | False |
Creation Options
| Name | Value |
|---|---|
| QUOTED_IDENTIFIER | OFF |
| ANSI_NULLS | ON |
Parameters
| Name | DataType | Length | Type |
|---|---|---|---|
| @UserName | nvarchar | 100 | INPUT |
Total: 1 parameter(s)
SQL
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
create procedure forums_GetTopicsUserMostRecentlyParticipatedIn
(
@UserName nvarchar(50)
)
AS
-- Create a temp table
CREATE Table #ThreadsUserParticipatedIn (
ThreadID int,
ThreadDate datetime
)
-- Insert into temp table
INSERT INTO #ThreadsUserParticipatedIn
SELECT DISTINCT TOP 25
ThreadID,
ThreadDate
FROM
Posts
WHERE
Approved = 1 AND
Username = @UserName
ORDER BY
ThreadDate DESC
SELECT
Subject,
Body,
P.PostID,
P.ThreadID,
ParentID,
PostDate = (SELECT Max(PostDate) FROM Posts WHERE ThreadID = P.ThreadID),
P.ThreadDate,
PinnedDate,
P.UserName,
Replies = (SELECT COUNT(*) FROM Posts WHERE P.ThreadID = ThreadID AND Approved = 1 AND PostLevel != 1),
Body,
TotalViews,
IsLocked,
IsPinned,
HasRead = dbo.HasReadPost(@UserName, P.PostID, P.ForumID),
MostRecentPostAuthor = (SELECT TOP 1 Username FROM Posts WHERE P.ThreadID = ThreadID AND Approved = 1 ORDER BY PostDate DESC),
MostRecentPostID = (SELECT TOP 1 PostID FROM Posts WHERE P.ThreadID = ThreadID AND Approved = 1 ORDER BY PostDate DESC)
FROM
Posts P,
#ThreadsUserParticipatedIn T
WHERE
PostID = T.ThreadID
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO