CREATE PROCEDURE [dbo].[up_update_dungeon_rank] @character_id [uniqueidentifier], @world_id int, @difficulty tinyint, @rank_normal tinyint, @rank_hard tinyint, @rank_veryhard tinyint AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; if EXISTS( select [character_id] from DungeonRank with (READUNCOMMITTED) where [character_id] = @character_id and [world_id] = @world_id ) begin UPDATE [dbo].[DungeonRank] SET [difficulty] = @difficulty, [rank_normal] = @rank_normal, [rank_hard] = @rank_hard, [rank_veryhard] = @rank_veryhard WHERE [character_id] = @character_id and [world_id] = @world_id end else begin INSERT INTO [dbo].[DungeonRank] ([character_id] ,[world_id] ,[difficulty], [rank_normal], [rank_hard], [rank_veryhard]) VALUES (@character_id, @world_id, @difficulty, @rank_normal, @rank_hard, @rank_veryhard ) end return @@error END