📄 cs_rating_update.prc
字号:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cs_Rating_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[cs_Rating_Update]
GO
CREATE PROCEDURE dbo.cs_Rating_Update
(
@RatingType int,
@ItemID int,
@UserID int,
@Rating int,
@SettingsID int,
@CurrentRating int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
IF @RatingType = 0 -- Post
BEGIN
-- Update the rating
UPDATE
cs_PostRating
SET
Rating = @Rating
WHERE
UserID = @UserID AND
PostID = @ItemID and SettingsID = @SettingsID
-- Update the post's rating stats
UPDATE
cs_Posts
SET
RatingSum = (RatingSum - @CurrentRating) + @Rating
WHERE
PostID = @ItemID and SettingsID = @SettingsID
END
ELSE IF @RatingType = 1 -- Thread
BEGIN
-- Update the rating
UPDATE
cs_ThreadRating
SET
Rating = @Rating
WHERE
UserID = @UserID AND
ThreadID = @ItemID and SettingsID = @SettingsID
-- Update the thread's rating stats
UPDATE
cs_Threads
SET
RatingSum = (RatingSum - @CurrentRating) + @Rating
WHERE
ThreadID = @ItemID and SettingsID = @SettingsID
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
GRANT EXECUTE ON [dbo].[cs_Rating_Update] TO [public]
GO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -