CREATE PROCEDURE [dbo].[up_SetItems] @log_type int ,@world_id int ,@auth_id uniqueidentifier ,@character_id uniqueidentifier ,@character_name nvarchar(16) ,@item_guid uniqueidentifier ,@item_ID int ,@item_header int ,@enchant_level int ,@item_active int ,@socket_count tinyint ,@remain_recon tinyint ,@durability int ,@item_option1 int ,@item_option2 int ,@item_option3 int ,@item_option_value1 int ,@item_option_value2 int ,@item_option_value3 int ,@item_socket_option1 int ,@item_socket_option2 int ,@item_socket_option3 int ,@item_socket_value1 int ,@item_socket_value2 int ,@item_socket_value3 int ,@item_socket_color1 int ,@item_socket_color2 int ,@item_socket_color3 int ,@item_count int ,@before_money int ,@after_money int ,@change_money int ,@before_date int ,@after_date int ,@result 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(4000) declare @char_auth_id nvarchar(50) declare @char_character_id nvarchar(50) declare @char_item_id nvarchar(50) set @char_auth_id = @auth_id set @char_character_id = @character_id set @char_item_id = @item_guid exec Local_CreateItemsTable @createtime SET @updatesql = 'insert into Items_Log_' + @year + '_' + @month + '(log_type ,world_id ,auth_id ,character_id ,character_name ,item_guid ,item_ID ,item_header ,enchant_level ,item_active ,socket_count ,item_recon ,durability ,item_option1 ,item_option2 ,item_option3 ,item_option_value1 ,item_option_value2 ,item_option_value3 ,item_socket_option1 ,item_socket_option2 ,item_socket_option3 ,item_socket_value1 ,item_socket_value2 ,item_socket_value3 ,item_socket_color1 ,item_socket_color2 ,item_socket_color3 ,item_count ,before_money ,after_money ,change_money ,before_date ,after_date ,result ) VALUES (' + '''' +convert(nvarchar,@log_type) + '''' + ',' + '''' +convert(nvarchar,@world_id) + '''' + ',' + '''' +@char_auth_id + '''' + ',' + '''' +@char_character_id + '''' + ',' + '''' +@character_name + '''' + ',' + '''' +@char_item_id + '''' + ',' + '''' +convert(nvarchar,@item_id) + '''' + ',' + '''' +convert(nvarchar,@item_header) + '''' + ',' + '''' +convert(nvarchar,@enchant_level) + '''' + ',' + '''' +convert(nvarchar,@item_active) + '''' + ',' + '''' +convert(nvarchar,@socket_count) + '''' + ',' + '''' +convert(nvarchar,@remain_recon) + '''' + ',' + '''' +convert(nvarchar,@durability) + '''' + ',' + '''' +convert(nvarchar,@item_option1) + '''' + ',' + '''' +convert(nvarchar,@item_option2) + '''' + ',' + '''' +convert(nvarchar,@item_option3) + '''' + ',' + '''' +convert(nvarchar,@item_option_value1)+ '''' + ',' + '''' +convert(nvarchar,@item_option_value2)+ '''' + ',' + '''' +convert(nvarchar,@item_option_value3)+ '''' + ',' + '''' +convert(nvarchar,@item_socket_option1)+ '''' + ',' + '''' +convert(nvarchar,@item_socket_option2)+ '''' + ',' + '''' +convert(nvarchar,@item_socket_option3)+ '''' + ',' + '''' +convert(nvarchar,@item_socket_value1) + '''' + ',' + '''' +convert(nvarchar,@item_socket_value2) + '''' + ',' + '''' +convert(nvarchar,@item_socket_value3) + '''' + ',' + '''' +convert(nvarchar,@item_socket_color1) + '''' + ',' + '''' +convert(nvarchar,@item_socket_color2) + '''' + ',' + '''' +convert(nvarchar,@item_socket_color3) + '''' + ',' + '''' +convert(nvarchar,@item_count) + '''' + ',' + '''' +convert(nvarchar,@before_money) + '''' + ',' + '''' +convert(nvarchar,@after_money) + '''' + ',' + '''' +convert(nvarchar,@change_money) + '''' + ',' + '''' +convert(nvarchar,@before_date) + '''' + ',' + '''' +convert(nvarchar,@after_date) + '''' + ',' + '''' +convert(nvarchar,@result) + '''' + ')' EXEC(@updatesql) if(@@error <> 0) begin rollback return end commit