CREATE PROCEDURE [dbo].[up_LogOut] @log_type smallint, @world_id int, @auth_id [uniqueidentifier], @bcust_id nvarchar(50), @character_id [uniqueidentifier], @character_name nvarchar(50), @ChannelID int, @IP char(16), @inven_gold int, @storage_gold int, @character_level int, @character_exp bigint 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(500) declare @char_auth_id nvarchar(50) declare @char_character_id nvarchar(50) -- Logout_Log ??? ?? exec Local_CreateLogoutLogTable @createtime set @char_auth_id = @auth_id set @char_character_id = @character_id SET @updatesql ='insert into Logout_Log_'+ @year+'_' +@month+'(log_type, world_id, auth_id, bcust_id, character_id, character_name, ChannelID, IP, date, inven_gold, storage_gold, character_level, character_exp) values (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +convert(nvarchar, @world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +@bcust_id+ '''' + ',' + '''' +@char_character_id+ '''' + ',' + '''' +@character_name+ '''' + ',' + '''' +convert(nvarchar, @ChannelID)+ '''' + ',' + '''' +@IP+ '''' + ',' + '''' +convert(nvarchar, @createtime)+ '''' + ',' + '''' +convert(nvarchar, @inven_gold)+ '''' + ',' + '''' +convert(nvarchar, @storage_gold)+ '''' + ',' + '''' +convert(nvarchar, @character_level)+ '''' + ',' + '''' +convert(nvarchar, @character_exp)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit