CREATE PROCEDURE [dbo].[Local_CreatePvpBattleTable] @createtime datetime as set nocount on declare @year varchar(50) declare @month varchar(50) set @year = convert(varchar, datepart(yy,@createtime)) set @month = convert(varchar, datepart(mm,@createtime)) if OBJECT_ID( 'Pvp_Battle_Log_'+ @year+'_'+@month ) IS NULL begin declare @br varchar(1500) set @br='CREATE TABLE Pvp_Battle_Log_'+ @year+'_'+@month+ '( [log_id] [bigint] IDENTITY(1,1) NOT NULL, [log_type] [smallint] NOT NULL, [bcust_id] [nvarchar] (24) NOT NULL, [character_id] [uniqueidentifier] NOT NULL, [character_name] [nvarchar] (16) NOT NULL, [character_class] [int] NOT NULL, [character_level] [int] NOT NULL, [channel_type] [int] NOT NULL, [room_id] [uniqueidentifier] NOT NULL, [room_world] [int] NOT NULL, [room_type] [int] NOT NULL, [red_leader_id] [uniqueidentifier], [red_leader_name] [nvarchar] (16), [red_name1] [nvarchar] (16), [red_name2] [nvarchar] (16), [red_name3] [nvarchar] (16), [red_name4] [nvarchar] (16), [red_kill_count] [smallint], [red_total_damage] [int], [blue_leader_id] [uniqueidentifier], [blue_leader_name] [nvarchar] (16), [blue_name1] [nvarchar] (16), [blue_name2] [nvarchar] (16), [blue_name3] [nvarchar] (16), [blue_name4] [nvarchar] (16), [blue_kill_count] [smallint], [blue_total_damage] [int], [user_start_count] [smallint] NOT NULL, [user_end_count] [smallint] NOT NULL, [win_character_name] [nvarchar] (16) NOT NULL, [win_team] [smallint] NOT NULL, [clear_time] [int] NOT NULL, [date] [datetime] NOT NULL CONSTRAINT [DF_Pvp_Battle_Log_'+ @year+'_'+ @month+'_entry_date] DEFAULT (getdate()), )' exec(@br) ----- set @br='ALTER TABLE [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] WITH NOCHECK ADD CONSTRAINT [PK_log_id_Pvp_Battle_Log_'+ @year+'_'+ @month+'] PRIMARY KEY CLUSTERED ( [log_id] ASC ) ON [PRIMARY]' exec(@br) ----- set @br='CREATE NONCLUSTERED INDEX [IX_channel_type_Pvp_Battle_Log_'+ @year+'_'+ @month+'] ON [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] ( [channel_type] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]' exec(@br) ----- set @br='CREATE NONCLUSTERED INDEX [IX_room_world_Pvp_Battle_Log_'+ @year+'_'+ @month+'] ON [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] ( [room_world] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]' exec(@br) ----- set @br='CREATE NONCLUSTERED INDEX [IX_room_id_Pvp_Battle_Log_'+ @year+'_'+ @month+'] ON [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] ( [room_id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]' exec(@br) ----- set @br='CREATE NONCLUSTERED INDEX [IX_room_type_Pvp_Battle_Log_'+ @year+'_'+ @month+'] ON [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] ( [room_type] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]' exec(@br) set @br='CREATE NONCLUSTERED INDEX [IX_date_Pvp_Battle_Log_'+ @year+'_'+ @month+'] ON [dbo].[Pvp_Battle_Log_'+ @year+'_'+ @month+'] ( [date] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]' exec(@br) end