CREATE PROCEDURE [dbo].[up_SetPvpDeath] @log_type smallint, @room_id uniqueidentifier, @character_id uniqueidentifier, @character_name nvarchar(16), @character_class int, @character_job tinyint, @character_level int, @kill_id uniqueidentifier, @kill_name nvarchar(16), @kill_class int, @kill_job tinyint, @kill_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_room_id nvarchar(50) declare @char_character_id nvarchar(50) declare @char_kill_id nvarchar(50) set @char_room_id = @room_id set @char_character_id = @character_id set @char_kill_id = @kill_id -- Battle_Room_Log ??? ?? exec Local_CreatePvpDeathTable @createtime SET @updatesql ='insert into Pvp_Death_Log_'+ @year+'_'+@month +'(log_type, room_id , character_id, character_name, character_class, character_job, character_level , kill_id, kill_name, kill_class, kill_job, kill_level, date ) values (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +@char_room_id + '''' + ',' + '''' +@char_character_id + '''' + ',' + '''' +@character_name + '''' + ',' + '''' +convert(nvarchar, @character_class )+ '''' + ',' + '''' +convert(nvarchar, @character_job )+ '''' + ',' + '''' +convert(nvarchar, @character_level )+ '''' + ',' + '''' +@char_kill_id + '''' + ',' + '''' +@kill_name + '''' + ',' + '''' +convert(nvarchar, @kill_class )+ '''' + ',' + '''' +convert(nvarchar, @kill_job )+ '''' + ',' + '''' +convert(nvarchar, @kill_level )+ '''' + ',' + '''' +convert(nvarchar, @createtime, 109)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit