CREATE PROCEDURE [dbo].[up_SetGold] @log_type smallint, @world_id int, @auth_id [uniqueidentifier], @bcust_id nvarchar(50) = NULL, @character_id [uniqueidentifier], @character_name nvarchar(50), @Otherauth_id [uniqueidentifier], @Otherbcust_id nvarchar(50) = NULL, @Othercharacter_id [uniqueidentifier], @Othercharacter_name nvarchar(50), @Gold_Prev int, @Gold_Change int, @Gold_After int, @record_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(2500) declare @char_auth_id nvarchar(50) declare @char_character_id nvarchar(50) declare @char_other_auth_id nvarchar(50) declare @char_other_character_id nvarchar(50) -- Login_Log ??? ?? exec Local_CreateMoneyTable @createtime set @char_auth_id = @auth_id set @char_character_id = @character_id set @char_other_auth_id = @Otherauth_id set @char_other_character_id = @Othercharacter_id SET @updatesql ='insert into Money_Log_'+ @year+'_' +@month+'(log_type, world_id, auth_id, bcust_id, character_id, character_name, other_auth_id, other_bcust_id, other_character_id, other_character_name, before_money, after_money, change_money, entry_date ) values (' + '''' +convert(nvarchar, @log_type) + '''' + ',' + '''' +convert(nvarchar, @world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +@bcust_id+ '''' + ',' + '''' +@char_character_id+ '''' + ',' + '''' +@character_name+ '''' + ',' + '''' +@char_other_auth_id+ '''' + ',' + '''' +@Otherbcust_id+ '''' + ',' + '''' +@char_other_character_id+ '''' + ',' + '''' +@Othercharacter_name+ '''' + ',' + '''' +convert(nvarchar, @Gold_Prev)+ '''' +',' + '''' +convert(nvarchar, @Gold_After)+ '''' +',' + '''' +convert(nvarchar, @Gold_Change)+ '''' +',' + '''' +convert(nvarchar, @record_time, 109)+ '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit