CREATE PROCEDURE [dbo].[up_SetMail] @log_type int ,@world_id int ,@auth_id uniqueidentifier ,@channel_group tinyint ,@channel_num int ,@mail_id uniqueidentifier ,@bcust_id nvarchar(16) ,@character_id uniqueidentifier ,@character_name nvarchar(16) ,@receiver_name nvarchar(16) ,@msg nvarchar(50) ,@return_day int ,@req_gold 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(2500) declare @char_auth_id nvarchar(50) declare @char_mail_id nvarchar(50) declare @char_character_id nvarchar(50) -- Login_Log ??? ?? exec Local_CreateMailTable @createtime set @char_auth_id = @auth_id set @char_mail_id = @mail_id set @char_character_id = @character_id SET @updatesql = 'INSERT INTO Mail_Log_' + @year + '_' + @month + '( log_type ,world_id ,auth_id ,channel_group ,channel_num ,mail_id ,bcust_id ,character_id ,character_name ,receiver_name ,msg ,return_day ,req_gold) VALUES (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +convert(nvarchar, @world_id) + '''' + ',' + '''' +@char_auth_id+ '''' + ',' + '''' +convert(nvarchar, @channel_group)+ '''' + ',' + '''' +convert(nvarchar, @channel_num)+ '''' + ',' + '''' +@char_auth_id+ '''' + ',' + '''' +@bcust_id+ '''' + ',' + '''' +@char_character_id+ '''' + ',' + '''' +@character_name+ '''' +',' + '''' +@receiver_name+ '''' +',' + '''' +@msg+ '''' +',' + '''' +convert(nvarchar, @return_day)+ '''' +',' + '''' +convert(nvarchar, @req_gold)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit