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