server-re/decomp/schema/RustyHearts/procs/up_add_ban.sql

42 lines
1.1 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[up_add_ban]
(
@character_id [uniqueidentifier],
@ban_name nvarchar(16),
@ban_memo nvarchar(32)
)
as
set nocount on
declare @ban_id [uniqueidentifier];
declare @ban_class int;
SET @ban_id = NULL;
SELECT TOP 1 @ban_id = [character_id], @ban_class = [class] FROM CharacterTable WITH(NOLOCK) WHERE [Name] = @ban_name and Block_Type = 0;
IF( @ban_id IS NOT NULL )
BEGIN
IF not EXISTS ( SELECT TOP 1 character_id FROM FriendTableEx with (READUNCOMMITTED) WHERE character_id = @character_id and friend_id = @ban_id )
BEGIN
INSERT INTO FriendTableEx VALUES ( @character_id,
@ban_id,
@ban_name,
@ban_class,
1,
@ban_memo,
GetDate()
);
END
ELSE
BEGIN
UPDATE [FriendTableEx]
SET [IsCut] = 1
,[CutReason] = @ban_memo
WHERE character_id = @character_id and friend_id = @ban_id;
END
SELECT TOP 1 [character_id], [class], [level] FROM CharacterTable WITH(NOLOCK) WHERE [Name] = @ban_name;
END
ELSE
BEGIN
SELECT @ban_id, @ban_class, 0
END