cs_Message_CreateUpdateDelete
ALTER procedure [dbo].cs_Message_CreateUpdateDelete
(
@MessageID int,
@Title NVarChar(1024),
@Body NVarChar(4000),
@Action int,
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
-- CREATE
IF @Action = 0
BEGIN
SELECT 'Not Implemented'
-- 不执行
END
-- UPDATE
-- 更新
ELSE IF @Action = 1
BEGIN
UPDATE
cs_Messages
SET
Title = @Title,
Body = @Body
WHERE
MessageID = @MessageID and SettingsID = @SettingsID
END
-- DELETE
-- 删除
ELSE IF @Action = 2
BEGIN
SELECT 'Not Implemented'
END
-- 不执行
ALTER procedure [dbo].cs_Message_CreateUpdateDelete
(
@MessageID int,
@Title NVarChar(1024),
@Body NVarChar(4000),
@Action int,
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
-- CREATE
IF @Action = 0
BEGIN
SELECT 'Not Implemented'
-- 不执行
END
-- UPDATE
-- 更新
ELSE IF @Action = 1
BEGIN
UPDATE
cs_Messages
SET
Title = @Title,
Body = @Body
WHERE
MessageID = @MessageID and SettingsID = @SettingsID
END
-- DELETE
-- 删除
ELSE IF @Action = 2
BEGIN
SELECT 'Not Implemented'
END
-- 不执行
cs_MarkPostAsRead
ALTER PROCEDURE [dbo].cs_MarkPostAsRead
(
@PostID int,
@UserName nvarchar (50),
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
BEGIN
-- If @UserName is null it is an anonymous user
-- 如果用户名为空则为匿名用户
IF @UserName IS NOT NULL
BEGIN
DECLARE @SectionID int
DECLARE @PostDate datetime
-- Mark the post as read
-- 标记帖子为已读
-- *********************
-- Only for PostLevel = 1
IF EXISTS (SELECT PostID FROM cs_Posts WHERE PostID = @PostID AND PostLevel = 1 and SettingsID = @SettingsID)
IF NOT EXISTS (SELECT HasRead FROM PostsReadx WHERE UserName = @UserName and PostID = @PostID and SettingsID = @SettingsID)
INSERT INTO PostsRead (UserName, PostID, SettingsID) VALUES (@UserName, @PostID, @SettingsID)
/**//*又碰到没见过的表了*/
END
END
ALTER PROCEDURE [dbo].cs_MarkPostAsRead
(
@PostID int,
@UserName nvarchar (50),
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
BEGIN
-- If @UserName is null it is an anonymous user
-- 如果用户名为空则为匿名用户
IF @UserName IS NOT NULL
BEGIN
DECLARE @SectionID int
DECLARE @PostDate datetime
-- Mark the post as read
-- 标记帖子为已读
-- *********************
-- Only for PostLevel = 1
IF EXISTS (SELECT PostID FROM cs_Posts WHERE PostID = @PostID AND PostLevel = 1 and SettingsID = @SettingsID)
IF NOT EXISTS (SELECT HasRead FROM PostsReadx WHERE UserName = @UserName and PostID = @PostID and SettingsID = @SettingsID)
INSERT INTO PostsRead (UserName, PostID, SettingsID) VALUES (@UserName, @PostID, @SettingsID)
/**//*又碰到没见过的表了*/
END
END
cs_Links_Get
ALTER PROCEDURE dbo.cs_Links_Get
@LinkCategoryID int,
@SettingsID int
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
SELECT [LinkID], [LinkCategoryID], [Title], [Url], [IsEnabled], [SortOrder], [SettingsID], [Rel], [Description], [DateCreated]
FROM cs_Links
WHERE LinkCategoryID = @LinkCategoryID and SettingsID = @SettingsID
Order By SortOrder
/**//*查询某类型的全部信息*/
ALTER PROCEDURE dbo.cs_Links_Get
@LinkCategoryID int,
@SettingsID int
AS
SET Transaction Isolation Level Read UNCOMMITTED
/**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/
SELECT [LinkID], [LinkCategoryID], [Title], [Url], [IsEnabled], [SortOrder], [SettingsID], [Rel], [Description], [DateCreated]
FROM cs_Links
WHERE LinkCategoryID = @LinkCategoryID and SettingsID = @SettingsID
Order By SortOrder
/**//*查询某类型的全部信息*/