CREATE PROCEDURE [dbo].[up_insert_skill] @NewSkillID [uniqueidentifier], @character_id [uniqueidentifier], @group int, @slot_index int, @skill_table_id int, @skill_level int as set nocount on declare @skilltableid int declare @use int set @skilltableid = 0; set @use = 0; select TOP 1 @skilltableid = [skill_table_id], @use = [use] from SkillTable WITH(NOLOCK) where character_id = @character_id and skill_table_id = @skill_table_id if( @skilltableid != 0 and @use != 0 ) begin update [dbo].[SkillTable] set [group] = @group, slot_index = @slot_index, skill_level = @skill_level where skill_table_id = @skill_table_id and character_id = @character_id end else begin insert into SkillTable values ( @NewSkillID, @character_id, @group, @slot_index, @skill_table_id, @skill_level, GetDate(), 1 ); end return @@error