-- CharInfoEx ¿¡ Ä÷³ Ãß°¡(±¹°¡ÀüÀï ÈÆÀå Æ÷ÀÎÆ®, ·Î±×¾Æ¿ô ½Ã°£) -- alter table CharInfoEx add RealmPoint tinyint NULL go alter table CharInfoEx add RealmCheckPoint tinyint NULL go alter table CharInfoEx add RealmMinute tinyint NULL go alter table CharInfoEx add LogoutTime smalldatetime Not NULL default(getdate()) go if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vUserInfo]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view dbo.vUserInfo GO create view dbo.vUserInfo AS SELECT UID,OldServerGroupID,Nation,Char1 as CID FROM UserInfo UNION ALL SELECT UID,OldServerGroupID,Nation,Char2 FROM UserInfo UNION ALL SELECT UID,OldServerGroupID,Nation,Char3 FROM UserInfo UNION ALL SELECT UID,OldServerGroupID,Nation,Char4 FROM UserInfo UNION ALL SELECT UID,OldServerGroupID,Nation,Char5 FROM UserInfo GO /* ±¹ÀûÀÌ ½ÅÀÇ ÇØÀû´ÜÀ̸鼭, Á¾Á·ÀÌ ÈÞ¸ÕÀÎ »ç¶÷µéÀÇ ±¹ÀûÀ» Ä«¸£Å×¶õÆ®·Î ¹Ù²ãÁØ´Ù. */ update UserInfo set UserInfo.Nation = 1 where UserInfo.UID in (select distinct vUserInfo.UID from vUserInfo INNER JOIN CharInfo ON vUserInfo.CID = CharInfo.CID where vUserInfo.Nation = 3 and CharInfo.Race = 0) /* ±¹ÀûÀÌ ½ÅÀÇ ÇØÀû´ÜÀ̸鼭, Á¾Á·ÀÌ ¾ÆÄ­ÀÎ »ç¶÷µéÀÇ ±¹ÀûÀ» ¸Þ¸£Ä«µð¾Æ·Î ¹Ù²ãÁØ´Ù. */ update UserInfo set UserInfo.Nation = 2 where UserInfo.UID in (select distinct vUserInfo.UID from vUserInfo INNER JOIN CharInfo ON vUserInfo.CID = CharInfo.CID where vUserInfo.Nation = 3 and CharInfo.Race = 1) /* ±æµå ±¹ÀûÀÌ ½ÅÀÇ ÇØÀû´ÜÀ̰í, ±æµå ¸¶½ºÅͰ¡ ÈÞ¸ÕÀ̸é, ±æµå ±¹ÀûÀ» Ä«¸£Å×¶õÆ®·Î ¹Ù²ãÁØ´Ù. */ update TblGuildInfo set TblGuildInfo.tnNationType = 1 where TblGuildInfo.nGuildID in (select distinct TblGuildInfo.nGuildID from TblGuildInfo INNER JOIN TblGuildMember ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID INNER JOIN CharInfo ON TblGuildMember.nCID = CharInfo.CID where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 0) /* ±æµå ±¹ÀûÀÌ ½ÅÀÇ ÇØÀû´ÜÀ̰í, ±æµå ¸¶½ºÅͰ¡ ¾ÆÄ­À̸é, ±æµå ±¹ÀûÀ» ¸Þ¸£Ä«µð¾Æ·Î ¹Ù²ãÁØ´Ù. */ update TblGuildInfo set TblGuildInfo.tnNationType = 2 where TblGuildInfo.nGuildID in (select distinct TblGuildInfo.nGuildID from TblGuildInfo INNER JOIN TblGuildMember ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID INNER JOIN CharInfo ON TblGuildMember.nCID = CharInfo.CID where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 1) /* ±æµå¿¡ ¼ÓÇÑ Ä³¸¯ÅÍÀÇ Á¾Á·ÀÌ, ±× ±æµå¿¡ °¡ÀÔÇÒ ¼ö ¾ø´Â Á¾Á·À̸é ÇØ´ç ij¸¯Å͸¦ ±æµå¿¡¼­ Å»Åð½ÃŲ´Ù */ /* ±æµå¿¡¼­ Å»Åð½Ãų ij¸¯ÅÍ Á¤º¸ ¾ò¾î¿À±â */ declare @DeleteInfo table (nCID int) insert into @DeleteInfo select distinct TblGuildMember.nCID from TblGuildInfo INNER JOIN TblGuildMember ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID INNER JOIN CharInfo ON TblGuildMember.nCID = CharInfo.CID where TblGuildInfo.tnNationType <> CharInfo.Race + 1 /* ±æµå¿¡¼­ ij¸¯ÅÍ »èÁ¦, ij¸¯ÅÍ Á¤º¸¿¡¼­ Guild IDŬ¸®¾î */ delete from TblGuildMember where nCID in (select nCID from @DeleteInfo) update CharInfo set CharInfo.Guild = 0 where CharInfo.CID in (select nCID from @DeleteInfo) /* ±æµå°£ÀÇ °ü°è¸¦ ¸ðµÎ Á¦°ÅÇÑ´Ù. */ delete from TblGuildOtherList /* Ä·ÇÁ¸¦ DB¿¡¼­ ÀüºÎ Á¦°ÅÇÑ´Ù */ delete from TblCampInfo delete from TblCampShopInfo delete from TblCampMineralInfo delete from TblWorldWeaponInfo /* ÆÄƼ¸¦ ³¯·Á¹ö¸°´Ù */ delete from PartyInfo Update CharInfo Set Party = 0 /* ±æµåÀüÀï, ±¹°¡ÀüÀï Âü¿© Ç÷¡±×¸¦ Ãß°¡ÇÑ´Ù. */ ALTER TABLE [CharInfoEx] ADD [GuildWarFlag] [tinyint] NULL ALTER TABLE [CharInfoEx] ADD [RealmWarFlag] [tinyint] NULL /* °ÔÀÓ ½Ã°£ °ª DB Table »ý¼º */ CREATE TABLE [TblGameTime] ( [GuildTime] [tinyint] NULL, [RealmTime] [tinyint] NULL, [SiegeTime] [tinyint] NULL, [MiningTime] [tinyint] NULL ) ON [PRIMARY] INSERT INTO TblGameTime(GuildTime, RealmTime, SiegeTime, MiningTime) VALUES (0, 0, 0, 0) /* ±¹°¡ ÀüÀé ¼®»ó DB Å×À̺í Ãß°¡ */ CREATE TABLE [TblStatueInfo] ( [nIndex] [int] NULL, [tnChannel] [tinyint] NULL, [snKID] [smallint] NULL, [nLostHP] [int] NULL ) ON [PRIMARY] /* ±¹°¡ ÀüÀï ¼®»ó ÃʱⰪ Ãß°¡ */ INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (1, 0, 1044, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (2, 0, 1044, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (3, 0, 1049, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (4, 0, 1049, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (5, 0, 1059, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (6, 0, 1059, 0) INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (7, 0, 1054, 0)