CREATE PROCEDURE [dbo].[up_Set_Quest_Log] @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 tinyint ,@character_level tinyint ,@quest_id int ,@quest_type int ,@quest_exp 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 @char_auth_id nvarchar(50) declare @char_character_id nvarchar(50) declare @updatesql nvarchar(2500) -- Login_Log ??? ?? exec Local_CreateQuestTable @createtime set @char_auth_id = @auth_id set @char_character_id = @character_id SET @updatesql = 'INSERT INTO Quest_log_' + @year + '_' + @month + '( log_type ,world_id ,auth_id ,channel_id ,bcust_id ,character_id ,character_name ,character_class ,character_job ,character_level ,quest_id ,quest_type ,quest_exp) VALUES (' + '''' +convert(nvarchar,@log_type) + '''' + ',' + '''' +convert(nvarchar,@world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +convert(nvarchar,@channel_id) + '''' + ',' + '''' +@bcust_id + '''' + ',' + '''' +@char_character_id + '''' + ',' + '''' +@character_name + '''' + ',' + '''' +convert(nvarchar,@character_class) + '''' + ',' + '''' +convert(nvarchar,@character_job) + '''' + ',' + '''' +convert(nvarchar,@character_level) + '''' + ',' + '''' +convert(nvarchar,@quest_id) + '''' + ',' + '''' +convert(nvarchar,@quest_type) + '''' + ',' + '''' +convert(nvarchar,@quest_exp)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit