Function Properties
| Name | Value |
|---|---|
| Owner | dbo |
| Created | 2004-05-31 |
| Type | Scalar |
| Schema Bound | False |
| Deterministic | False |
| Encrypted | False |
Creation Options
| Name | Value |
|---|---|
| QUOTED_IDENTIFIER | OFF |
| ANSI_NULLS | ON |
Parameters
| Name | DataType | Length | Type |
|---|---|---|---|
| @UserName | nvarchar | 50 | INPUT |
| @PostID | int | 4 | INPUT |
| @ForumID | int | 4 | INPUT |
Total: 3 parameter(s)
Recordset Returned
| Name | Datatype | Length |
|---|---|---|
| bit | 1 |
SQL
SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE function HasReadPost(@UserName nvarchar(50), @PostID int, @ForumID int) RETURNS bit AS BEGIN DECLARE @HasRead bit DECLARE @ReadAfter int SET @HasRead = 0 -- Do we have topics marked as read? SELECT @ReadAfter = MarkReadAfter FROM ForumsRead WHERE Username = @UserName AND ForumID = @ForumID IF @ReadAfter IS NOT NULL BEGIN IF @ReadAfter > @PostID RETURN 1 END IF EXISTS (SELECT HasRead FROM PostsRead WHERE Username = @UserName AND PostID = @PostID) SET @HasRead = 1 RETURN @HasRead END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO