server-re/decomp/schema/RustyHearts_Log/procs/Local_CreatePvpBattleTable.sql

99 lines
3.1 KiB
Transact-SQL

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