CREATE PROCEDURE [dbo].[up_SetPlayTime] @log_type smallint, @world_id int, @auth_id [uniqueidentifier], @bcust_id nvarchar(50), @character_id [uniqueidentifier], @character_name nvarchar(50), @character_class int, @character_level int, @channel_id int, @start_time datetime, @end_time datetime 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_character_id nvarchar(50) -- Login_Log ??? ?? exec Local_CreatePTTable @createtime set @char_auth_id = @auth_id set @char_character_id = @character_id SET @updatesql ='insert into PT_Log_'+ @year+'_' +@month+'(log_type, world_id, auth_id, bcust_id, ChannelID, character_id, character_name, character_class, character_level, p_start_date, p_end_date, date ) values (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +convert(nvarchar, @world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +@bcust_id+ '''' + ',' + '''' +convert(nvarchar, @channel_id) + '''' + ',' + '''' +@char_character_id+ '''' + ',' + '''' +@character_name+ '''' + ',' + '''' +convert(nvarchar, @character_class)+ '''' + ',' + '''' +convert(nvarchar, @character_level)+ '''' + ',' + '''' +convert(nvarchar, @start_time, 109)+ '''' + ',' + '''' +convert(nvarchar, @end_time, 109)+ '''' + ',' + '''' +convert(nvarchar, @createtime, 109)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit