📄 cs_moderate_post_updateparent.prc
字号:
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cs_Moderate_Post_UpdateParent]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[cs_Moderate_Post_UpdateParent]
GO
CREATE PROCEDURE [dbo].cs_Moderate_Post_UpdateParent
(
@PostID int,
@ParentID int,
@MovedBy int,
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
DECLARE @ThreadID int
SELECT @ThreadID = ThreadID
FROM cs_Posts
WHERE PostID = @PostID
and SettingsID = @SettingsID
-- ensure the posts are in the same thread and that the post being moved is not the first post
IF @ThreadID is null
OR @ThreadID <> (SELECT ThreadID FROM cs_Posts WHERE PostID = @PostID and SettingsID = @SettingsID)
OR @PostID = (SELECT PostID FROM cs_Posts WHERE ThreadID = @ThreadID and SettingsID = @SettingsID and PostLevel = 0)
RETURN
BEGIN TRAN
-- Do the Update
UPDATE
cs_Posts
SET
ParentID = @ParentID
WHERE
PostID = @PostID and SettingsID = @SettingsID
-- Update thread statistics
EXEC cs_system_UpdateThread @ThreadID, 0, @SettingsID
-- Update moderation actions
EXEC cs_system_ModerationAction_AuditEntry 3, @MovedBy, @PostID, null, null, @SettingsID, null
COMMIT TRAN
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
grant execute on [dbo].[cs_Moderate_Post_UpdateParent] to public
go
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -