📄 cs_user_togglesettings.prc
字号:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cs_User_ToggleSettings]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[cs_User_ToggleSettings]
GO
CREATE procedure [dbo].[cs_User_ToggleSettings]
(
@UserID int,
@ModerationLevel int,
@UserAccountStatus int,
@ForceLogin bit = 0,
@IsAvatarApproved bit,
@ModeratorID int,
@SettingsID int,
@UpdateAllSettingsID bit = 0
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
BEGIN
DECLARE @CurrentUserAccountStatus int
SELECT @CurrentUserAccountStatus = UserAccountStatus
FROM cs_Users
WHERE UserID = @UserID
UPDATE
cs_Users
SET
UserAccountStatus = @UserAccountStatus,
ForceLogin = @ForceLogin
WHERE
UserID = @UserID
DECLARE @CurrentModerationLevel int
SELECT @CurrentModerationLevel = ModerationLevel
FROM cs_UserProfile
WHERE UserID = @UserID
AND SettingsID = @SettingsID
UPDATE
cs_UserProfile
SET
ModerationLevel = @ModerationLevel,
IsAvatarApproved = @IsAvatarApproved
WHERE
UserID = @UserID AND (SettingsID = @SettingsID or @UpdateAllSettingsID = 1)
IF (@ModerationLevel != @CurrentModerationLevel) -- moderation level has changed
BEGIN
IF (@ModerationLevel = 0)
exec cs_system_ModerationAction_AuditEntry 11, @ModeratorID, null, @UserID, null, @SettingsID
ELSE
exec cs_system_ModerationAction_AuditEntry 10, @ModeratorID, null, @UserID, null, @SettingsID
END
IF (@UserAccountStatus != @CurrentUserAccountStatus) -- user account status has changed
BEGIN
IF @UserAccountStatus = 1
exec cs_system_ModerationAction_AuditEntry 13, @ModeratorID, null, @UserID, null, @SettingsID
ELSE
exec cs_system_ModerationAction_AuditEntry 12, @ModeratorID, null, @UserID, null, @SettingsID
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
grant execute on [dbo].[cs_User_ToggleSettings] to public
go
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -