CREATE PROCEDURE [dbo].[up_SetCharacter] @log_type int ,@world_id int ,@auth_id uniqueidentifier ,@channel_id smallint ,@bcust_id nvarchar(24) ,@character_id uniqueidentifier ,@character_name nvarchar(16) ,@character_class int ,@character_Job int ,@character_Level int ,@guildpoint int ,@character_count int ,@b_character_name nvarchar(16) ,@b_Job int ,@b_Level int as set nocount on declare @createtime datetime set @createtime = getdate() declare @year varchar(50) declare @month varchar(50) set @year = convert(varchar, datepart(yy,@createtime)) set @month = convert(varchar, datepart(mm,@createtime)) set xact_abort on begin tran declare @updatesql nvarchar(1500) declare @char_auth_id nvarchar(50) declare @char_char_id nvarchar(50) set @char_auth_id = @auth_id set @char_char_id = @character_id exec Local_CreateCharacterTable @createtime SET @updatesql ='insert into Character_Log_'+ @year+'_'+@month +'(log_type, world_id, auth_id, channel_id, bcust_id, character_id, character_name, character_class, character_Job, character_Level, guildpoint, character_count, b_character_name, b_Job, b_Level, date) values (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +convert(nvarchar, @world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +convert(nvarchar, @channel_id) + '''' + ',' + '''' +@bcust_id + '''' + ',' + '''' +@char_char_id + '''' + ',' + '''' +@character_name + '''' + ',' + '''' +convert(nvarchar, @character_class) + '''' + ',' + '''' +convert(nvarchar, @character_Job) + '''' + ',' + '''' +convert(nvarchar, @character_Level) + '''' + ',' + '''' +convert(nvarchar, @guildpoint) + '''' + ',' + '''' +convert(nvarchar, @character_count) + '''' + ',' + '''' +@b_character_name + '''' + ',' + '''' +convert(nvarchar, @b_Job) + '''' + ',' + '''' +convert(nvarchar, @b_Level) + '''' + ',' + '''' +convert(nvarchar, @createtime, 109)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit