· 8 years ago · May 29, 2018, 05:10 PM
1USE [master]
2GO
3/****** Object: Database [TestDB] Script Date: 28-05-2018 18:12:26 ******/
4CREATE DATABASE [TestDB] ON PRIMARY
5( NAME = N'TestDB', FILENAME = N'/mssql/TestDB.mdf' , SIZE = 4096KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
6 LOG ON
7( NAME = N'TestDB_log', FILENAME = N'/mssql/TestDB_log.mdf' , SIZE = 1280KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
8GO
9ALTER DATABASE [TestDB] SET COMPATIBILITY_LEVEL = 100
10GO
11IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
12begin
13EXEC [TestDB].[dbo].[sp_fulltext_database] @action = 'enable'
14end
15GO
16ALTER DATABASE [TestDB] SET ANSI_NULL_DEFAULT OFF
17GO
18ALTER DATABASE [TestDB] SET ANSI_NULLS OFF
19GO
20ALTER DATABASE [TestDB] SET ANSI_PADDING OFF
21GO
22ALTER DATABASE [TestDB] SET ANSI_WARNINGS OFF
23GO
24ALTER DATABASE [TestDB] SET ARITHABORT OFF
25GO
26ALTER DATABASE [TestDB] SET AUTO_CLOSE OFF
27GO
28ALTER DATABASE [TestDB] SET AUTO_SHRINK OFF
29GO
30ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS ON
31GO
32ALTER DATABASE [TestDB] SET CURSOR_CLOSE_ON_COMMIT OFF
33GO
34ALTER DATABASE [TestDB] SET CURSOR_DEFAULT GLOBAL
35GO
36ALTER DATABASE [TestDB] SET CONCAT_NULL_YIELDS_NULL OFF
37GO
38ALTER DATABASE [TestDB] SET NUMERIC_ROUNDABORT OFF
39GO
40ALTER DATABASE [TestDB] SET QUOTED_IDENTIFIER OFF
41GO
42ALTER DATABASE [TestDB] SET RECURSIVE_TRIGGERS OFF
43GO
44ALTER DATABASE [TestDB] SET DISABLE_BROKER
45GO
46ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
47GO
48ALTER DATABASE [TestDB] SET DATE_CORRELATION_OPTIMIZATION OFF
49GO
50ALTER DATABASE [TestDB] SET TRUSTWORTHY OFF
51GO
52ALTER DATABASE [TestDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
53GO
54ALTER DATABASE [TestDB] SET PARAMETERIZATION SIMPLE
55GO
56ALTER DATABASE [TestDB] SET READ_COMMITTED_SNAPSHOT OFF
57GO
58ALTER DATABASE [TestDB] SET HONOR_BROKER_PRIORITY OFF
59GO
60ALTER DATABASE [TestDB] SET RECOVERY SIMPLE
61GO
62ALTER DATABASE [TestDB] SET MULTI_USER
63GO
64ALTER DATABASE [TestDB] SET PAGE_VERIFY CHECKSUM
65GO
66ALTER DATABASE [TestDB] SET DB_CHAINING OFF
67GO
68USE [TestDB]
69GO
70/****** Object: User [test] Script Date: 28-05-2018 18:12:27 ******/
71CREATE USER [test] FOR LOGIN [test] WITH DEFAULT_SCHEMA=[dbo]
72GO
73/****** Object: User [game] Script Date: 28-05-2018 18:12:27 ******/
74CREATE USER [game] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
75GO
76ALTER ROLE [db_owner] ADD MEMBER [test]
77GO
78ALTER ROLE [db_accessadmin] ADD MEMBER [test]
79GO
80ALTER ROLE [db_securityadmin] ADD MEMBER [test]
81GO
82ALTER ROLE [db_ddladmin] ADD MEMBER [test]
83GO
84ALTER ROLE [db_backupoperator] ADD MEMBER [test]
85GO
86ALTER ROLE [db_datareader] ADD MEMBER [test]
87GO
88ALTER ROLE [db_datawriter] ADD MEMBER [test]
89GO
90/****** Object: UserDefinedFunction [dbo].[fnGetMax] Script Date: 28-05-2018 18:12:27 ******/
91SET ANSI_NULLS ON
92GO
93SET QUOTED_IDENTIFIER ON
94GO
95
96
97/* 최대값 구하는 함수 */
98CREATE FUNCTION [dbo].[fnGetMax]
99 (@n1 int,
100 @n2 int)
101RETURNS int
102AS
103BEGIN
104RETURN (CASE WHEN @n1 > @n2 THEN @n1 ELSE @n2 END)
105END
106
107
108
109
110
111GO
112/****** Object: UserDefinedFunction [dbo].[fnGetMin] Script Date: 28-05-2018 18:12:27 ******/
113SET ANSI_NULLS ON
114GO
115SET QUOTED_IDENTIFIER ON
116GO
117
118
119/* 최소값 구하는 함수 */
120CREATE FUNCTION [dbo].[fnGetMin]
121 (@n1 int,
122 @n2 int)
123RETURNS int
124AS
125BEGIN
126RETURN (CASE WHEN @n1 < @n2 THEN @n1 ELSE @n2 END)
127END
128
129
130
131
132
133GO
134/****** Object: UserDefinedFunction [dbo].[inet_aton] Script Date: 28-05-2018 18:12:27 ******/
135SET ANSI_NULLS ON
136GO
137SET QUOTED_IDENTIFIER ON
138GO
139
140CREATE FUNCTION [dbo].[inet_aton] (@IP VARCHAR(15))
141RETURNS BIGINT
142AS
143BEGIN
144 DECLARE @A BIGINT, @B BIGINT, @C BIGINT, @D BIGINT
145 DECLARE @iBegin INT, @iEnd INT
146
147 SELECT @iBegin=1
148 SELECT @iEnd=CHARINDEX('.', @IP)
149 SELECT @A=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
150
151 SELECT @iBegin=@iEnd+1
152 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
153 SELECT @B=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
154
155 SELECT @iBegin=@iEnd+1
156 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
157 SELECT @C=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
158
159 SELECT @iBegin=@iEnd+1
160 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
161 SELECT @D=CAST(SUBSTRING(@IP, @iBegin, 15) AS BIGINT)
162
163 DECLARE @IPNumber BIGINT
164 SELECT @IPNumber=@A*16777216+@B*65536+@C*256+@D
165
166 RETURN @IPNumber
167END
168
169
170
171
172GO
173/****** Object: Table [dbo].[Account] Script Date: 28-05-2018 18:12:27 ******/
174SET ANSI_NULLS ON
175GO
176SET QUOTED_IDENTIFIER ON
177GO
178CREATE TABLE [dbo].[Account](
179 [AID] [int] IDENTITY(1,1) NOT NULL,
180 [UserID] [varchar](20) NOT NULL,
181 [UGradeID] [int] NOT NULL,
182 [PGradeID] [int] NOT NULL,
183 [RegDate] [datetime] NOT NULL,
184 [Name] [varchar](50) NOT NULL,
185 [Email] [varchar](50) NULL,
186 [RegNum] [varchar](50) NULL,
187 [Age] [smallint] NULL,
188 [Sex] [tinyint] NULL,
189 [ZipCode] [varchar](50) NULL,
190 [Address] [varchar](256) NULL,
191 [Country] [varchar](50) NULL,
192 [LastCID] [int] NULL,
193 [Cert] [tinyint] NULL,
194 [HackingType] [tinyint] NULL,
195 [HackingRegTime] [smalldatetime] NULL,
196 [EndHackingBlockTime] [smalldatetime] NULL,
197 [LastLoginTime] [smalldatetime] NULL,
198 [ServerID] [tinyint] NULL,
199 [LastLogoutTime] [smalldatetime] NULL,
200 CONSTRAINT [Account_PK] PRIMARY KEY CLUSTERED
201(
202 [AID] ASC
203)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
204) ON [PRIMARY]
205
206GO
207/****** Object: Table [dbo].[AccountItem] Script Date: 28-05-2018 18:12:28 ******/
208SET ANSI_NULLS ON
209GO
210SET QUOTED_IDENTIFIER ON
211GO
212CREATE TABLE [dbo].[AccountItem](
213 [AIID] [int] IDENTITY(1,1) NOT NULL,
214 [AID] [int] NOT NULL,
215 [ItemID] [int] NOT NULL,
216 [RentDate] [datetime] NULL,
217 [RentHourPeriod] [smallint] NULL,
218 [Cnt] [smallint] NULL,
219 CONSTRAINT [Table1_PK] PRIMARY KEY CLUSTERED
220(
221 [AIID] ASC
222)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
223) ON [PRIMARY]
224
225GO
226/****** Object: Table [dbo].[AccountPenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
227SET ANSI_NULLS ON
228GO
229SET QUOTED_IDENTIFIER ON
230GO
231CREATE TABLE [dbo].[AccountPenaltyLog](
232 [PenaltyLogID] [int] IDENTITY(1,1) NOT NULL,
233 [AID] [int] NULL,
234 [UGradeID] [int] NULL,
235 [DayLeft] [int] NULL,
236 [RegDate] [smalldatetime] NULL,
237 [GMID] [varchar](20) NULL,
238PRIMARY KEY NONCLUSTERED
239(
240 [PenaltyLogID] ASC
241)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
242) ON [PRIMARY]
243
244GO
245/****** Object: Table [dbo].[AccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
246SET ANSI_NULLS ON
247GO
248SET QUOTED_IDENTIFIER ON
249GO
250CREATE TABLE [dbo].[AccountPenaltyPeriod](
251 [id] [int] IDENTITY(1,1) NOT NULL,
252 [AID] [int] NOT NULL,
253 [DayLeft] [int] NOT NULL,
254 CONSTRAINT [AccountPenaltyPeriod_PK] PRIMARY KEY CLUSTERED
255(
256 [id] ASC
257)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
258) ON [PRIMARY]
259
260GO
261/****** Object: Table [dbo].[BillingMethod] Script Date: 28-05-2018 18:12:28 ******/
262SET ANSI_NULLS ON
263GO
264SET QUOTED_IDENTIFIER ON
265GO
266CREATE TABLE [dbo].[BillingMethod](
267 [BillingMethodID] [int] NOT NULL,
268 [Name] [varchar](256) NOT NULL,
269 CONSTRAINT [BillingMethod_PK] PRIMARY KEY CLUSTERED
270(
271 [BillingMethodID] ASC
272)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
273) ON [PRIMARY]
274
275GO
276/****** Object: Table [dbo].[BlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
277SET ANSI_NULLS ON
278GO
279SET QUOTED_IDENTIFIER ON
280GO
281CREATE TABLE [dbo].[BlockCountryCode](
282 [CountryCode3] [char](3) NOT NULL,
283 [RoutingURL] [varchar](64) NULL,
284 [IsBlock] [tinyint] NULL,
285PRIMARY KEY CLUSTERED
286(
287 [CountryCode3] ASC
288)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
289) ON [PRIMARY]
290
291GO
292/****** Object: Table [dbo].[Blocks] Script Date: 28-05-2018 18:12:28 ******/
293SET ANSI_NULLS ON
294GO
295SET QUOTED_IDENTIFIER ON
296GO
297CREATE TABLE [dbo].[Blocks](
298 [AID] [int] NOT NULL,
299 [Type] [tinyint] NULL,
300 [EndDate] [datetime] NULL,
301 [Reason] [varchar](255) NULL,
302 CONSTRAINT [PK_Blocks] PRIMARY KEY CLUSTERED
303(
304 [AID] ASC
305)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
306) ON [PRIMARY]
307
308GO
309/****** Object: Table [dbo].[BringAccountItemLog] Script Date: 28-05-2018 18:12:28 ******/
310SET ANSI_NULLS ON
311GO
312SET QUOTED_IDENTIFIER ON
313GO
314CREATE TABLE [dbo].[BringAccountItemLog](
315 [id] [int] IDENTITY(1,1) NOT NULL,
316 [AID] [int] NULL,
317 [CID] [int] NULL,
318 [ItemID] [int] NOT NULL,
319 [Date] [datetime] NOT NULL,
320 CONSTRAINT [BringAccountItemLog_PK] PRIMARY KEY NONCLUSTERED
321(
322 [id] ASC
323)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
324) ON [PRIMARY]
325
326GO
327/****** Object: Table [dbo].[CashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
328SET ANSI_NULLS ON
329GO
330SET QUOTED_IDENTIFIER ON
331GO
332CREATE TABLE [dbo].[CashItemPresentLog](
333 [id] [int] IDENTITY(1,1) NOT NULL,
334 [SenderUserID] [varchar](20) NOT NULL,
335 [ReceiverAID] [int] NOT NULL,
336 [CSID] [int] NULL,
337 [CSSID] [int] NULL,
338 [Cash] [int] NOT NULL,
339 [Date] [datetime] NOT NULL,
340 [RentHourPeriod] [int] NULL,
341 [MobileCode] [char](16) NULL,
342 CONSTRAINT [CashItemPresentLog_PK] PRIMARY KEY CLUSTERED
343(
344 [id] ASC
345)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
346) ON [PRIMARY]
347
348GO
349/****** Object: Table [dbo].[CashSetItem] Script Date: 28-05-2018 18:12:28 ******/
350SET ANSI_NULLS ON
351GO
352SET QUOTED_IDENTIFIER ON
353GO
354CREATE TABLE [dbo].[CashSetItem](
355 [CSIID] [int] IDENTITY(1,1) NOT NULL,
356 [CSSID] [int] NOT NULL,
357 [CSID] [int] NOT NULL,
358 CONSTRAINT [CashSetItem_PK] PRIMARY KEY CLUSTERED
359(
360 [CSIID] ASC
361)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
362) ON [PRIMARY]
363
364GO
365/****** Object: Table [dbo].[CashSetShop] Script Date: 28-05-2018 18:12:28 ******/
366SET ANSI_NULLS ON
367GO
368SET QUOTED_IDENTIFIER ON
369GO
370CREATE TABLE [dbo].[CashSetShop](
371 [CSSID] [int] NOT NULL,
372 [Name] [varchar](64) NULL,
373 [Description] [varchar](1024) NULL,
374 [CashPrice] [int] NOT NULL,
375 [WebImgName] [varchar](64) NULL,
376 [NewItemOrder] [tinyint] NULL,
377 [ResSex] [tinyint] NULL,
378 [ResLevel] [int] NULL,
379 [Weight] [int] NULL,
380 [Opened] [tinyint] NULL,
381 [RegDate] [datetime] NULL,
382 [RentType] [tinyint] NULL,
383 CONSTRAINT [CashSetShop_PK] PRIMARY KEY CLUSTERED
384(
385 [CSSID] ASC
386)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
387) ON [PRIMARY]
388
389GO
390/****** Object: Table [dbo].[CashShop] Script Date: 28-05-2018 18:12:28 ******/
391SET ANSI_NULLS ON
392GO
393SET QUOTED_IDENTIFIER ON
394GO
395CREATE TABLE [dbo].[CashShop](
396 [CSID] [int] NOT NULL,
397 [ItemID] [int] NOT NULL,
398 [NewItemOrder] [tinyint] NULL,
399 [CashPrice] [int] NOT NULL,
400 [WebImgName] [varchar](64) NULL,
401 [Opened] [tinyint] NULL,
402 [RegDate] [datetime] NULL,
403 [RentType] [tinyint] NULL,
404 CONSTRAINT [CashShop_PK] PRIMARY KEY CLUSTERED
405(
406 [CSID] ASC
407)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
408) ON [PRIMARY]
409
410GO
411/****** Object: Table [dbo].[CashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
412SET ANSI_NULLS ON
413GO
414SET QUOTED_IDENTIFIER ON
415GO
416CREATE TABLE [dbo].[CashShopNewItem](
417 [id] [int] IDENTITY(1,1) NOT NULL,
418 [Category] [varchar](32) NOT NULL,
419 [NewOrder] [int] NOT NULL,
420 [IsSetItem] [int] NOT NULL,
421 [CSID] [int] NULL,
422 [CSSID] [int] NULL,
423 [Slot] [varchar](32) NOT NULL,
424 [Name] [varchar](256) NOT NULL,
425 [ResSex] [int] NOT NULL,
426 [ResLevel] [int] NOT NULL,
427 [CashPrice] [int] NOT NULL,
428 [WebImgName] [varchar](64) NULL,
429 [RegDate] [datetime] NOT NULL
430) ON [PRIMARY]
431
432GO
433/****** Object: Table [dbo].[CashShopNewItemCategory] Script Date: 28-05-2018 18:12:28 ******/
434SET ANSI_NULLS ON
435GO
436SET QUOTED_IDENTIFIER ON
437GO
438CREATE TABLE [dbo].[CashShopNewItemCategory](
439 [CategoryID] [int] NOT NULL,
440 [Description] [varchar](12) NOT NULL,
441PRIMARY KEY CLUSTERED
442(
443 [CategoryID] ASC
444)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
445UNIQUE NONCLUSTERED
446(
447 [Description] ASC
448)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
449) ON [PRIMARY]
450
451GO
452/****** Object: Table [dbo].[CashShopRank] Script Date: 28-05-2018 18:12:28 ******/
453SET ANSI_NULLS ON
454GO
455SET QUOTED_IDENTIFIER ON
456GO
457CREATE TABLE [dbo].[CashShopRank](
458 [id] [int] IDENTITY(1,1) NOT NULL,
459 [Rank] [int] NOT NULL,
460 [Category] [varchar](32) NOT NULL,
461 [Name] [varchar](256) NOT NULL,
462 [Count] [int] NOT NULL,
463 [CSID] [int] NULL,
464 [CSSID] [int] NULL,
465 [Slot] [varchar](32) NOT NULL,
466 [ResSex] [int] NOT NULL,
467 [ResLevel] [int] NOT NULL,
468 [CashPrice] [int] NOT NULL,
469 [RegDate] [datetime] NOT NULL,
470 CONSTRAINT [pk_CashShopRank_id] PRIMARY KEY CLUSTERED
471(
472 [id] ASC
473)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
474) ON [PRIMARY]
475
476GO
477/****** Object: Table [dbo].[Character] Script Date: 28-05-2018 18:12:28 ******/
478SET ANSI_NULLS ON
479GO
480SET QUOTED_IDENTIFIER ON
481GO
482CREATE TABLE [dbo].[Character](
483 [CID] [int] IDENTITY(1,1) NOT NULL,
484 [AID] [int] NOT NULL,
485 [Name] [varchar](24) NOT NULL,
486 [Level] [smallint] NOT NULL,
487 [Sex] [tinyint] NOT NULL,
488 [CharNum] [smallint] NOT NULL,
489 [Hair] [tinyint] NULL,
490 [Face] [tinyint] NULL,
491 [XP] [int] NOT NULL,
492 [BP] [int] NOT NULL,
493 [HP] [smallint] NULL,
494 [AP] [smallint] NULL,
495 [FR] [int] NULL,
496 [CR] [int] NULL,
497 [ER] [int] NULL,
498 [WR] [int] NULL,
499 [head_slot] [int] NULL,
500 [chest_slot] [int] NULL,
501 [hands_slot] [int] NULL,
502 [legs_slot] [int] NULL,
503 [feet_slot] [int] NULL,
504 [fingerl_slot] [int] NULL,
505 [fingerr_slot] [int] NULL,
506 [melee_slot] [int] NULL,
507 [primary_slot] [int] NULL,
508 [secondary_slot] [int] NULL,
509 [custom1_slot] [int] NULL,
510 [custom2_slot] [int] NULL,
511 [RegDate] [datetime] NULL,
512 [LastTime] [datetime] NULL,
513 [PlayTime] [int] NULL,
514 [GameCount] [int] NULL,
515 [KillCount] [int] NULL,
516 [DeathCount] [int] NULL,
517 [DeleteFlag] [tinyint] NULL,
518 [DeleteName] [varchar](24) NULL,
519 [head_itemid] [int] NULL,
520 [chest_itemid] [int] NULL,
521 [hands_itemid] [int] NULL,
522 [legs_itemid] [int] NULL,
523 [feet_itemid] [int] NULL,
524 [fingerl_itemid] [int] NULL,
525 [fingerr_itemid] [int] NULL,
526 [melee_itemid] [int] NULL,
527 [primary_itemid] [int] NULL,
528 [secondary_itemid] [int] NULL,
529 [custom1_itemid] [int] NULL,
530 [custom2_itemid] [int] NULL,
531 [QuestItemInfo] [binary](292) NULL,
532 CONSTRAINT [Character_PK] PRIMARY KEY CLUSTERED
533(
534 [CID] ASC
535)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
536) ON [PRIMARY]
537
538GO
539/****** Object: Table [dbo].[CharacterItem] Script Date: 28-05-2018 18:12:28 ******/
540SET ANSI_NULLS ON
541GO
542SET QUOTED_IDENTIFIER ON
543GO
544CREATE TABLE [dbo].[CharacterItem](
545 [CIID] [int] IDENTITY(1,1) NOT NULL,
546 [CID] [int] NULL,
547 [ItemID] [int] NOT NULL,
548 [RegDate] [datetime] NULL,
549 [RentDate] [datetime] NULL,
550 [RentHourPeriod] [smallint] NULL,
551 [Cnt] [smallint] NULL,
552 CONSTRAINT [CharacterItem_PK] PRIMARY KEY CLUSTERED
553(
554 [CIID] ASC
555)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
556) ON [PRIMARY]
557
558GO
559/****** Object: Table [dbo].[CharacterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
560SET ANSI_NULLS ON
561GO
562SET QUOTED_IDENTIFIER ON
563GO
564CREATE TABLE [dbo].[CharacterMakingLog](
565 [id] [int] IDENTITY(1,1) NOT NULL,
566 [AID] [int] NULL,
567 [CharName] [varchar](32) NULL,
568 [Type] [varchar](20) NULL,
569 [Date] [datetime] NULL
570) ON [PRIMARY]
571
572GO
573/****** Object: Table [dbo].[CharacterMgrLogByGM] Script Date: 28-05-2018 18:12:28 ******/
574SET ANSI_NULLS ON
575GO
576SET QUOTED_IDENTIFIER ON
577GO
578CREATE TABLE [dbo].[CharacterMgrLogByGM](
579 [CharMgrLogID] [int] IDENTITY(1,1) NOT NULL,
580 [CID] [int] NULL,
581 [CharName] [varchar](24) NOT NULL,
582 [CharMgrTypeID] [tinyint] NULL,
583 [GMID] [varchar](20) NOT NULL,
584 [NewName] [varchar](24) NULL,
585 [OrgValue] [int] NULL,
586 [NewValue] [int] NULL,
587 [RegDate] [smalldatetime] NULL,
588PRIMARY KEY NONCLUSTERED
589(
590 [CharMgrLogID] ASC
591)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
592) ON [PRIMARY]
593
594GO
595/****** Object: Table [dbo].[CharacterMgrType] Script Date: 28-05-2018 18:12:28 ******/
596SET ANSI_NULLS ON
597GO
598SET QUOTED_IDENTIFIER ON
599GO
600CREATE TABLE [dbo].[CharacterMgrType](
601 [CharMgrTypeID] [tinyint] NOT NULL,
602 [Description] [varchar](20) NULL,
603PRIMARY KEY CLUSTERED
604(
605 [CharMgrTypeID] ASC
606)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
607) ON [PRIMARY]
608
609GO
610/****** Object: Table [dbo].[Clan] Script Date: 28-05-2018 18:12:28 ******/
611SET ANSI_NULLS ON
612GO
613SET QUOTED_IDENTIFIER ON
614GO
615CREATE TABLE [dbo].[Clan](
616 [CLID] [int] IDENTITY(1,1) NOT NULL,
617 [Name] [varchar](24) NULL,
618 [Exp] [int] NOT NULL,
619 [Level] [tinyint] NOT NULL,
620 [Point] [int] NOT NULL,
621 [MasterCID] [int] NULL,
622 [Wins] [int] NOT NULL,
623 [MarkWebImg] [varchar](48) NULL,
624 [Introduction] [varchar](1024) NULL,
625 [RegDate] [datetime] NOT NULL,
626 [DeleteFlag] [tinyint] NULL,
627 [DeleteName] [varchar](24) NULL,
628 [Homepage] [varchar](128) NULL,
629 [Losses] [int] NOT NULL,
630 [Draws] [int] NOT NULL,
631 [Ranking] [int] NOT NULL,
632 [TotalPoint] [int] NOT NULL,
633 [Cafe_Url] [varchar](20) NULL,
634 [Email] [varchar](70) NULL,
635 [EmblemUrl] [varchar](256) NULL,
636 [RankIncrease] [int] NOT NULL,
637 [EmblemChecksum] [int] NOT NULL,
638 [LastDayRanking] [int] NOT NULL,
639 [LastMonthRanking] [int] NOT NULL,
640 CONSTRAINT [Clan_PK] PRIMARY KEY CLUSTERED
641(
642 [CLID] ASC
643)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
644) ON [PRIMARY]
645
646GO
647/****** Object: Table [dbo].[ClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
648SET ANSI_NULLS ON
649GO
650SET QUOTED_IDENTIFIER ON
651GO
652CREATE TABLE [dbo].[ClanAdsBoard](
653 [Seq] [int] IDENTITY(1,1) NOT NULL,
654 [UserID] [varchar](20) NOT NULL,
655 [Subject] [varchar](50) NOT NULL,
656 [RegDate] [smalldatetime] NOT NULL,
657 [ReadCount] [int] NOT NULL,
658 [Recommend] [int] NULL,
659 [Content] [varchar](2000) NOT NULL,
660 [FileName] [varchar](128) NULL,
661 [Link] [varchar](255) NULL,
662 [HTML] [smallint] NOT NULL,
663 [CommentCount] [int] NOT NULL,
664 [GR_ID] [int] NOT NULL,
665 [GR_Depth] [int] NOT NULL,
666 [GR_Pos] [int] NOT NULL,
667 [Thread] [int] NOT NULL,
668PRIMARY KEY CLUSTERED
669(
670 [Seq] ASC
671)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
672) ON [PRIMARY]
673
674GO
675/****** Object: Table [dbo].[ClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
676SET ANSI_NULLS ON
677GO
678SET QUOTED_IDENTIFIER ON
679GO
680CREATE TABLE [dbo].[ClanAdsComment](
681 [ID] [int] IDENTITY(1,1) NOT NULL,
682 [Seq] [int] NOT NULL,
683 [UserID] [varchar](20) NOT NULL,
684 [RegDate] [smalldatetime] NOT NULL,
685 [Content] [varchar](500) NOT NULL,
686PRIMARY KEY CLUSTERED
687(
688 [ID] ASC
689)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
690) ON [PRIMARY]
691
692GO
693/****** Object: Table [dbo].[ClanBoard] Script Date: 28-05-2018 18:12:28 ******/
694SET ANSI_NULLS ON
695GO
696SET QUOTED_IDENTIFIER ON
697GO
698CREATE TABLE [dbo].[ClanBoard](
699 [Seq] [int] IDENTITY(1,1) NOT NULL,
700 [CLID] [int] NOT NULL,
701 [UserID] [varchar](20) NOT NULL,
702 [Subject] [varchar](50) NOT NULL,
703 [RegDate] [smalldatetime] NOT NULL,
704 [ReadCount] [int] NOT NULL,
705 [Recommend] [int] NULL,
706 [Content] [varchar](4000) NOT NULL,
707 [FileName] [varchar](128) NULL,
708 [Link] [varchar](255) NULL,
709 [HTML] [smallint] NOT NULL,
710 [CommentCount] [int] NOT NULL,
711 [GR_ID] [int] NOT NULL,
712 [GR_Depth] [int] NOT NULL,
713 [GR_Pos] [int] NOT NULL,
714 [Thread] [int] NOT NULL,
715PRIMARY KEY CLUSTERED
716(
717 [Seq] ASC
718)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
719) ON [PRIMARY]
720
721GO
722/****** Object: Table [dbo].[ClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
723SET ANSI_NULLS ON
724GO
725SET QUOTED_IDENTIFIER ON
726GO
727CREATE TABLE [dbo].[ClanBoardComment](
728 [ID] [int] IDENTITY(1,1) NOT NULL,
729 [Seq] [int] NOT NULL,
730 [UserID] [varchar](20) NOT NULL,
731 [RegDate] [smalldatetime] NOT NULL,
732 [Content] [varchar](500) NOT NULL,
733PRIMARY KEY CLUSTERED
734(
735 [ID] ASC
736)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
737) ON [PRIMARY]
738
739GO
740/****** Object: Table [dbo].[ClanGameLog] Script Date: 28-05-2018 18:12:28 ******/
741SET ANSI_NULLS ON
742GO
743SET QUOTED_IDENTIFIER ON
744GO
745CREATE TABLE [dbo].[ClanGameLog](
746 [id] [int] IDENTITY(1,1) NOT NULL,
747 [WinnerCLID] [int] NOT NULL,
748 [LoserCLID] [int] NOT NULL,
749 [WinnerClanName] [varchar](24) NULL,
750 [LoserClanName] [varchar](24) NULL,
751 [WinnerMembers] [varchar](110) NULL,
752 [LoserMembers] [varchar](110) NULL,
753 [RoundWins] [tinyint] NOT NULL,
754 [RoundLosses] [tinyint] NOT NULL,
755 [MapID] [tinyint] NOT NULL,
756 [GameType] [tinyint] NOT NULL,
757 [RegDate] [datetime] NOT NULL,
758 [WinnerPoint] [int] NULL,
759 [LoserPoint] [int] NULL,
760 CONSTRAINT [ClanGameLog_PK] PRIMARY KEY NONCLUSTERED
761(
762 [id] ASC
763)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
764) ON [PRIMARY]
765
766GO
767/****** Object: Table [dbo].[ClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
768SET ANSI_NULLS ON
769GO
770SET QUOTED_IDENTIFIER ON
771GO
772CREATE TABLE [dbo].[ClanHonorRanking](
773 [id] [int] IDENTITY(1,1) NOT NULL,
774 [CLID] [int] NULL,
775 [ClanName] [varchar](24) NOT NULL,
776 [Point] [int] NULL,
777 [Wins] [int] NULL,
778 [Losses] [int] NULL,
779 [Ranking] [int] NULL,
780 [Year] [smallint] NULL,
781 [Month] [tinyint] NULL,
782 [RankIncrease] [int] NOT NULL,
783 CONSTRAINT [PK_ClanHonorRanking_ID] PRIMARY KEY CLUSTERED
784(
785 [id] ASC
786)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
787) ON [PRIMARY]
788
789GO
790/****** Object: Table [dbo].[ClanMember] Script Date: 28-05-2018 18:12:28 ******/
791SET ANSI_NULLS ON
792GO
793SET QUOTED_IDENTIFIER ON
794GO
795CREATE TABLE [dbo].[ClanMember](
796 [CMID] [int] IDENTITY(1,1) NOT NULL,
797 [CLID] [int] NULL,
798 [CID] [int] NULL,
799 [Grade] [tinyint] NOT NULL,
800 [RegDate] [datetime] NOT NULL,
801 [ContPoint] [int] NOT NULL,
802 CONSTRAINT [ClanMember_PK] PRIMARY KEY CLUSTERED
803(
804 [CMID] ASC
805)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
806) ON [PRIMARY]
807
808GO
809/****** Object: Table [dbo].[ClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
810SET ANSI_NULLS ON
811GO
812SET QUOTED_IDENTIFIER ON
813GO
814CREATE TABLE [dbo].[ClanMemberGrade](
815 [GradeID] [int] NOT NULL,
816 [Grade] [varchar](24) NOT NULL,
817PRIMARY KEY CLUSTERED
818(
819 [GradeID] ASC
820)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
821) ON [PRIMARY]
822
823GO
824/****** Object: Table [dbo].[CountryCode] Script Date: 28-05-2018 18:12:28 ******/
825SET ANSI_NULLS ON
826GO
827SET QUOTED_IDENTIFIER ON
828GO
829CREATE TABLE [dbo].[CountryCode](
830 [CountryCode3] [char](3) NOT NULL,
831 [CountryName] [varchar](50) NULL,
832PRIMARY KEY CLUSTERED
833(
834 [CountryCode3] ASC
835)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
836) ON [PRIMARY]
837
838GO
839/****** Object: Table [dbo].[CustomIP] Script Date: 28-05-2018 18:12:28 ******/
840SET ANSI_NULLS ON
841GO
842SET QUOTED_IDENTIFIER ON
843GO
844CREATE TABLE [dbo].[CustomIP](
845 [IPFrom] [bigint] NOT NULL,
846 [IPTo] [bigint] NOT NULL,
847 [IsBlock] [tinyint] NOT NULL,
848 [CountryCode3] [char](3) NOT NULL,
849 [Comment] [varchar](128) NULL,
850 [RegDate] [smalldatetime] NULL,
851UNIQUE NONCLUSTERED
852(
853 [IPFrom] ASC
854)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
855UNIQUE NONCLUSTERED
856(
857 [IPTo] ASC
858)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
859) ON [PRIMARY]
860
861GO
862/****** Object: Table [dbo].[DayRanking] Script Date: 28-05-2018 18:12:28 ******/
863SET ANSI_NULLS ON
864GO
865SET QUOTED_IDENTIFIER ON
866GO
867CREATE TABLE [dbo].[DayRanking](
868 [id] [int] IDENTITY(1,1) NOT NULL,
869 [Name] [varchar](24) NOT NULL,
870 [Level] [smallint] NOT NULL,
871 [Point] [int] NULL,
872 [Rank] [int] NULL,
873 CONSTRAINT [PK_DayRanking_ID] PRIMARY KEY CLUSTERED
874(
875 [id] ASC
876)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
877) ON [PRIMARY]
878
879GO
880/****** Object: Table [dbo].[dtproperties] Script Date: 28-05-2018 18:12:28 ******/
881SET ANSI_NULLS ON
882GO
883SET QUOTED_IDENTIFIER ON
884GO
885CREATE TABLE [dbo].[dtproperties](
886 [id] [int] IDENTITY(1,1) NOT NULL,
887 [objectid] [int] NULL,
888 [property] [varchar](64) NOT NULL,
889 [value] [varchar](255) NULL,
890 [uvalue] [nvarchar](255) NULL,
891 [lvalue] [image] NULL,
892 [version] [int] NOT NULL,
893 CONSTRAINT [pk_dtproperties] PRIMARY KEY CLUSTERED
894(
895 [id] ASC,
896 [property] ASC
897)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
898) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
899
900GO
901/****** Object: Table [dbo].[Effect] Script Date: 28-05-2018 18:12:28 ******/
902SET ANSI_NULLS ON
903GO
904SET QUOTED_IDENTIFIER ON
905GO
906CREATE TABLE [dbo].[Effect](
907 [ID] [int] NOT NULL,
908 [Name] [varchar](32) NOT NULL,
909 [Area] [int] NULL,
910 [Time] [int] NULL,
911 [ModHP] [int] NULL,
912 [ModAP] [int] NULL,
913 [ModMaxWT] [int] NULL,
914 [ModSF] [int] NULL,
915 [ModFR] [int] NULL,
916 [ModCR] [int] NULL,
917 [ModPR] [int] NULL,
918 [ModLR] [int] NULL,
919 [ResAP] [int] NULL,
920 [ResFR] [int] NULL,
921 [ResCR] [int] NULL,
922 [ResPR] [int] NULL,
923 [ResLR] [int] NULL,
924 [Stun] [int] NULL,
925 [KnockBack] [int] NULL,
926 [Smoke] [int] NULL,
927 [Flash] [int] NULL,
928 [Tear] [int] NULL,
929 [Flame] [int] NULL,
930 CONSTRAINT [Effect_PK] PRIMARY KEY CLUSTERED
931(
932 [ID] ASC
933)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
934) ON [PRIMARY]
935
936GO
937/****** Object: Table [dbo].[Event] Script Date: 28-05-2018 18:12:28 ******/
938SET ANSI_NULLS ON
939GO
940SET QUOTED_IDENTIFIER ON
941GO
942CREATE TABLE [dbo].[Event](
943 [AID] [int] NOT NULL,
944 [CID] [int] NOT NULL,
945 [RegDate] [smalldatetime] NOT NULL,
946 [Checked] [bit] NULL,
947 [EventName] [varchar](24) NULL
948) ON [PRIMARY]
949
950GO
951/****** Object: Table [dbo].[Event_ClanPointRanking] Script Date: 28-05-2018 18:12:28 ******/
952SET ANSI_NULLS ON
953GO
954SET QUOTED_IDENTIFIER ON
955GO
956CREATE TABLE [dbo].[Event_ClanPointRanking](
957 [id] [int] IDENTITY(1,1) NOT NULL,
958 [Rank] [int] NOT NULL,
959 [CLID] [int] NOT NULL,
960 [Name] [varchar](24) NOT NULL,
961 [Count] [int] NOT NULL,
962 [Point] [int] NOT NULL,
963 [RegDate] [datetime] NOT NULL
964) ON [PRIMARY]
965
966GO
967/****** Object: Table [dbo].[Friend] Script Date: 28-05-2018 18:12:28 ******/
968SET ANSI_NULLS ON
969GO
970SET QUOTED_IDENTIFIER ON
971GO
972CREATE TABLE [dbo].[Friend](
973 [id] [int] IDENTITY(1,1) NOT NULL,
974 [CID] [int] NOT NULL,
975 [FriendCID] [int] NOT NULL,
976 [Type] [int] NOT NULL,
977 [Favorite] [tinyint] NULL,
978 [DeleteFlag] [tinyint] NULL,
979 CONSTRAINT [Friend_PK] PRIMARY KEY CLUSTERED
980(
981 [id] ASC
982)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
983) ON [PRIMARY]
984
985GO
986/****** Object: Table [dbo].[GameLog] Script Date: 28-05-2018 18:12:28 ******/
987SET ANSI_NULLS ON
988GO
989SET QUOTED_IDENTIFIER ON
990GO
991CREATE TABLE [dbo].[GameLog](
992 [id] [int] IDENTITY(1,1) NOT NULL,
993 [GameName] [varchar](64) NULL,
994 [MasterCID] [int] NULL,
995 [Map] [varchar](32) NULL,
996 [GameType] [varchar](24) NULL,
997 [Round] [int] NULL,
998 [StartTime] [datetime] NOT NULL,
999 [PlayerCount] [tinyint] NULL,
1000 [Players] [varchar](1000) NULL
1001) ON [PRIMARY]
1002
1003GO
1004/****** Object: Table [dbo].[GameType] Script Date: 28-05-2018 18:12:28 ******/
1005SET ANSI_NULLS ON
1006GO
1007SET QUOTED_IDENTIFIER ON
1008GO
1009CREATE TABLE [dbo].[GameType](
1010 [GameTypeID] [int] NOT NULL,
1011 [Name] [varchar](256) NULL,
1012 CONSTRAINT [GameType_PK] PRIMARY KEY CLUSTERED
1013(
1014 [GameTypeID] ASC
1015)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1016) ON [PRIMARY]
1017
1018GO
1019/****** Object: Table [dbo].[IPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
1020SET ANSI_NULLS ON
1021GO
1022SET QUOTED_IDENTIFIER ON
1023GO
1024CREATE TABLE [dbo].[IPtoCountry](
1025 [IPFrom] [varchar](8000) NULL,
1026 [IPTo] [varchar](8000) NULL,
1027 [CountryCode2] [varchar](8000) NULL,
1028 [CountryCode3] [varchar](8000) NULL,
1029 [CountryName] [varchar](8000) NULL
1030) ON [PRIMARY]
1031
1032GO
1033/****** Object: Table [dbo].[IPtoCountryOld060612] Script Date: 28-05-2018 18:12:28 ******/
1034SET ANSI_NULLS ON
1035GO
1036SET QUOTED_IDENTIFIER ON
1037GO
1038CREATE TABLE [dbo].[IPtoCountryOld060612](
1039 [IPFrom] [numeric](18, 0) NOT NULL,
1040 [IPTo] [numeric](18, 0) NOT NULL,
1041 [CountryCode2] [char](2) NOT NULL,
1042 [CountryCode3] [char](3) NOT NULL,
1043 [CountryName] [varchar](50) NOT NULL,
1044 CONSTRAINT [PK_IPtoCountry_IPRange] PRIMARY KEY CLUSTERED
1045(
1046 [IPFrom] ASC,
1047 [IPTo] ASC
1048)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1049) ON [PRIMARY]
1050
1051GO
1052/****** Object: Table [dbo].[Item] Script Date: 28-05-2018 18:12:28 ******/
1053SET ANSI_NULLS ON
1054GO
1055SET QUOTED_IDENTIFIER ON
1056GO
1057CREATE TABLE [dbo].[Item](
1058 [ItemID] [int] NOT NULL,
1059 [Name] [varchar](256) NOT NULL,
1060 [TotalPoint] [int] NULL,
1061 [ResSex] [tinyint] NULL,
1062 [ResRace] [tinyint] NULL,
1063 [ResLevel] [int] NULL,
1064 [Slot] [tinyint] NULL,
1065 [Weight] [int] NULL,
1066 [BountyPrice] [int] NULL,
1067 [Damage] [int] NULL,
1068 [Delay] [int] NULL,
1069 [EffectID] [int] NULL,
1070 [Controllability] [int] NULL,
1071 [Magazine] [int] NULL,
1072 [ReloadTime] [int] NULL,
1073 [SlugOutput] [tinyint] NULL,
1074 [Gadget] [int] NULL,
1075 [HP] [int] NULL,
1076 [AP] [int] NULL,
1077 [MAXWT] [int] NULL,
1078 [SF] [int] NULL,
1079 [FR] [int] NULL,
1080 [CR] [int] NULL,
1081 [PR] [int] NULL,
1082 [LR] [int] NULL,
1083 [BlendColor] [int] NULL,
1084 [ModelName] [varchar](64) NULL,
1085 [Description] [varchar](1024) NULL,
1086 [MaxBullet] [int] NULL,
1087 [LimitSpeed] [tinyint] NULL,
1088 [IsCashItem] [tinyint] NULL,
1089 CONSTRAINT [Item_PK] PRIMARY KEY CLUSTERED
1090(
1091 [ItemID] ASC
1092)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1093) ON [PRIMARY]
1094
1095GO
1096/****** Object: Table [dbo].[ItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
1097SET ANSI_NULLS ON
1098GO
1099SET QUOTED_IDENTIFIER ON
1100GO
1101CREATE TABLE [dbo].[ItemPurchaseLogByBounty](
1102 [id] [int] IDENTITY(1,1) NOT NULL,
1103 [ItemID] [int] NOT NULL,
1104 [CID] [int] NULL,
1105 [Date] [datetime] NULL,
1106 [Bounty] [int] NULL,
1107 [CharBounty] [int] NULL,
1108 [Type] [varchar](20) NULL
1109) ON [PRIMARY]
1110
1111GO
1112/****** Object: Table [dbo].[ItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1113SET ANSI_NULLS ON
1114GO
1115SET QUOTED_IDENTIFIER ON
1116GO
1117CREATE TABLE [dbo].[ItemPurchaseLogByCash](
1118 [id] [int] IDENTITY(1,1) NOT NULL,
1119 [AID] [int] NULL,
1120 [ItemID] [int] NOT NULL,
1121 [Date] [datetime] NOT NULL,
1122 [Cash] [int] NULL,
1123 [RentHourPeriod] [int] NULL,
1124 [MobileCode] [char](16) NULL
1125) ON [PRIMARY]
1126
1127GO
1128/****** Object: Table [dbo].[ItemSlotType] Script Date: 28-05-2018 18:12:28 ******/
1129SET ANSI_NULLS ON
1130GO
1131SET QUOTED_IDENTIFIER ON
1132GO
1133CREATE TABLE [dbo].[ItemSlotType](
1134 [SlotType] [int] NOT NULL,
1135 [Description] [varchar](24) NULL,
1136 [Category] [varchar](24) NULL,
1137PRIMARY KEY CLUSTERED
1138(
1139 [SlotType] ASC
1140)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1141) ON [PRIMARY]
1142
1143GO
1144/****** Object: Table [dbo].[KillLog] Script Date: 28-05-2018 18:12:28 ******/
1145SET ANSI_NULLS ON
1146GO
1147SET QUOTED_IDENTIFIER ON
1148GO
1149CREATE TABLE [dbo].[KillLog](
1150 [id] [int] IDENTITY(1,1) NOT NULL,
1151 [AttackerCID] [int] NULL,
1152 [VictimCID] [int] NULL,
1153 [Time] [datetime] NULL,
1154 CONSTRAINT [KillLog_PK] PRIMARY KEY CLUSTERED
1155(
1156 [id] ASC
1157)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1158) ON [PRIMARY]
1159
1160GO
1161/****** Object: Table [dbo].[Level] Script Date: 28-05-2018 18:12:28 ******/
1162SET ANSI_NULLS ON
1163GO
1164SET QUOTED_IDENTIFIER ON
1165GO
1166CREATE TABLE [dbo].[Level](
1167 [Level] [smallint] NOT NULL,
1168 [MinXP] [int] NULL,
1169PRIMARY KEY CLUSTERED
1170(
1171 [Level] ASC
1172)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1173) ON [PRIMARY]
1174
1175GO
1176/****** Object: Table [dbo].[LevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
1177SET ANSI_NULLS ON
1178GO
1179SET QUOTED_IDENTIFIER ON
1180GO
1181CREATE TABLE [dbo].[LevelUpLog](
1182 [id] [int] IDENTITY(1,1) NOT NULL,
1183 [CID] [int] NULL,
1184 [Level] [smallint] NULL,
1185 [BP] [int] NULL,
1186 [KillCount] [int] NULL,
1187 [DeathCount] [int] NULL,
1188 [PlayTime] [int] NULL,
1189 [Date] [datetime] NULL,
1190 CONSTRAINT [LevelUpLog_PK_20050310] PRIMARY KEY NONCLUSTERED
1191(
1192 [id] ASC
1193)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1194) ON [PRIMARY]
1195
1196GO
1197/****** Object: Table [dbo].[LocatorCountryStatistics] Script Date: 28-05-2018 18:12:28 ******/
1198SET ANSI_NULLS ON
1199GO
1200SET QUOTED_IDENTIFIER ON
1201GO
1202CREATE TABLE [dbo].[LocatorCountryStatistics](
1203 [LocatorID] [int] NULL,
1204 [CountryCode3] [char](3) NULL,
1205 [Count] [int] NULL,
1206 [RegDate] [smalldatetime] NULL
1207) ON [PRIMARY]
1208
1209GO
1210/****** Object: Table [dbo].[LocatorLog] Script Date: 28-05-2018 18:12:28 ******/
1211SET ANSI_NULLS ON
1212GO
1213SET QUOTED_IDENTIFIER ON
1214GO
1215CREATE TABLE [dbo].[LocatorLog](
1216 [LocatorID] [int] NULL,
1217 [CountryCode3] [varchar](3) NULL,
1218 [Count] [int] NULL,
1219 [RegDate] [smalldatetime] NULL
1220) ON [PRIMARY]
1221
1222GO
1223/****** Object: Table [dbo].[LocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
1224SET ANSI_NULLS ON
1225GO
1226SET QUOTED_IDENTIFIER ON
1227GO
1228CREATE TABLE [dbo].[LocatorStatus](
1229 [LocatorID] [int] NOT NULL,
1230 [IP] [varchar](15) NOT NULL,
1231 [Port] [int] NOT NULL,
1232 [RecvCount] [int] NULL,
1233 [SendCount] [int] NULL,
1234 [BlockCount] [int] NULL,
1235 [DuplicatedCount] [int] NULL,
1236 [UpdateElapsedTime] [int] NOT NULL,
1237 [LastUpdatedTime] [datetime] NULL,
1238PRIMARY KEY CLUSTERED
1239(
1240 [LocatorID] ASC
1241)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1242UNIQUE NONCLUSTERED
1243(
1244 [IP] ASC
1245)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1246) ON [PRIMARY]
1247
1248GO
1249/****** Object: Table [dbo].[Login] Script Date: 28-05-2018 18:12:28 ******/
1250SET ANSI_NULLS ON
1251GO
1252SET QUOTED_IDENTIFIER ON
1253GO
1254CREATE TABLE [dbo].[Login](
1255 [UserID] [varchar](20) NOT NULL,
1256 [AID] [int] NOT NULL,
1257 [LastConnDate] [datetime] NULL,
1258 [LastIP] [varchar](20) NULL,
1259 [PasswordData] [varchar](128) NULL,
1260 CONSTRAINT [Login_PK] PRIMARY KEY CLUSTERED
1261(
1262 [UserID] ASC
1263)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1264) ON [PRIMARY]
1265
1266GO
1267/****** Object: Table [dbo].[Map] Script Date: 28-05-2018 18:12:28 ******/
1268SET ANSI_NULLS ON
1269GO
1270SET QUOTED_IDENTIFIER ON
1271GO
1272CREATE TABLE [dbo].[Map](
1273 [MapID] [int] NOT NULL,
1274 [Name] [varchar](256) NOT NULL,
1275 [MaxPlayer] [int] NOT NULL,
1276 CONSTRAINT [Map_PK] PRIMARY KEY CLUSTERED
1277(
1278 [MapID] ASC
1279)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1280) ON [PRIMARY]
1281
1282GO
1283/****** Object: Table [dbo].[PenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
1284SET ANSI_NULLS ON
1285GO
1286SET QUOTED_IDENTIFIER ON
1287GO
1288CREATE TABLE [dbo].[PenaltyLog](
1289 [id] [int] IDENTITY(1,1) NOT NULL,
1290 [AID] [int] NOT NULL,
1291 [UGradeID] [int] NOT NULL,
1292 [Date] [datetime] NOT NULL,
1293 CONSTRAINT [PenaltyLog_PK] PRIMARY KEY CLUSTERED
1294(
1295 [id] ASC
1296)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1297) ON [PRIMARY]
1298
1299GO
1300/****** Object: Table [dbo].[PersonalinfoGunz] Script Date: 28-05-2018 18:12:28 ******/
1301SET ANSI_NULLS ON
1302GO
1303SET QUOTED_IDENTIFIER ON
1304GO
1305CREATE TABLE [dbo].[PersonalinfoGunz](
1306 [AID] [int] NOT NULL,
1307 [birthday] [smalldatetime] NULL,
1308 [city] [nvarchar](50) NULL,
1309 [state] [char](2) NULL,
1310 [connecType] [nvarchar](30) NULL,
1311 [phone] [varchar](15) NULL,
1312 [speed] [varchar](50) NULL,
1313 [msgLU] [bit] NULL,
1314 [statusLUA] [bit] NOT NULL,
1315 CONSTRAINT [PK_PersonalinfoGunz] PRIMARY KEY CLUSTERED
1316(
1317 [AID] ASC
1318)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1319) ON [PRIMARY]
1320
1321GO
1322/****** Object: Table [dbo].[PlayerLog] Script Date: 28-05-2018 18:12:28 ******/
1323SET ANSI_NULLS ON
1324GO
1325SET QUOTED_IDENTIFIER ON
1326GO
1327CREATE TABLE [dbo].[PlayerLog](
1328 [id] [int] IDENTITY(1,1) NOT NULL,
1329 [CID] [int] NULL,
1330 [DisTime] [datetime] NULL,
1331 [PlayTime] [int] NULL,
1332 [Kills] [int] NULL,
1333 [Deaths] [int] NULL,
1334 [XP] [int] NULL,
1335 [TotalXP] [int] NULL
1336) ON [PRIMARY]
1337
1338GO
1339/****** Object: Table [dbo].[PremiumGrade] Script Date: 28-05-2018 18:12:28 ******/
1340SET ANSI_NULLS ON
1341GO
1342SET QUOTED_IDENTIFIER ON
1343GO
1344CREATE TABLE [dbo].[PremiumGrade](
1345 [PGradeID] [int] NOT NULL,
1346 [Name] [varchar](128) NOT NULL,
1347 CONSTRAINT [PremiumGrade_PK] PRIMARY KEY CLUSTERED
1348(
1349 [PGradeID] ASC
1350)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1351) ON [PRIMARY]
1352
1353GO
1354/****** Object: Table [dbo].[PurchaseMethod] Script Date: 28-05-2018 18:12:28 ******/
1355SET ANSI_NULLS ON
1356GO
1357SET QUOTED_IDENTIFIER ON
1358GO
1359CREATE TABLE [dbo].[PurchaseMethod](
1360 [PurchaseMethodID] [int] NOT NULL,
1361 [Name] [varchar](256) NULL,
1362 CONSTRAINT [PurchaseMethod_PK] PRIMARY KEY CLUSTERED
1363(
1364 [PurchaseMethodID] ASC
1365)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1366) ON [PRIMARY]
1367
1368GO
1369/****** Object: Table [dbo].[QuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
1370SET ANSI_NULLS ON
1371GO
1372SET QUOTED_IDENTIFIER ON
1373GO
1374CREATE TABLE [dbo].[QuestGameLog](
1375 [id] [int] IDENTITY(1,1) NOT NULL,
1376 [GameName] [varchar](64) NULL,
1377 [Master] [int] NOT NULL,
1378 [Player1] [int] NULL,
1379 [Player2] [int] NULL,
1380 [Player3] [int] NULL,
1381 [TotalQItemCount] [tinyint] NULL,
1382 [ScenarioID] [smallint] NOT NULL,
1383 [StartTime] [smalldatetime] NOT NULL,
1384 [EndTime] [smalldatetime] NOT NULL,
1385PRIMARY KEY NONCLUSTERED
1386(
1387 [id] ASC
1388)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1389) ON [PRIMARY]
1390
1391GO
1392/****** Object: Table [dbo].[QuestItem] Script Date: 28-05-2018 18:12:28 ******/
1393SET ANSI_NULLS ON
1394GO
1395SET QUOTED_IDENTIFIER ON
1396GO
1397CREATE TABLE [dbo].[QuestItem](
1398 [QIID] [int] NOT NULL,
1399 [Name] [char](32) NULL,
1400 [Level] [tinyint] NULL,
1401 [Description] [varchar](200) NULL,
1402 [Price] [int] NULL,
1403 [UniqueItem] [bit] NOT NULL,
1404 [Sacrifice] [bit] NOT NULL,
1405 [Type] [char](10) NULL,
1406 [Param] [int] NULL,
1407PRIMARY KEY CLUSTERED
1408(
1409 [QIID] ASC
1410)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1411) ON [PRIMARY]
1412
1413GO
1414/****** Object: Table [dbo].[QUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
1415SET ANSI_NULLS ON
1416GO
1417SET QUOTED_IDENTIFIER ON
1418GO
1419CREATE TABLE [dbo].[QUniqueItemLog](
1420 [QUILID] [int] IDENTITY(1,1) NOT NULL,
1421 [QGLID] [int] NULL,
1422 [CID] [int] NOT NULL,
1423 [QIID] [int] NOT NULL,
1424PRIMARY KEY NONCLUSTERED
1425(
1426 [QUILID] ASC
1427)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1428) ON [PRIMARY]
1429
1430GO
1431/****** Object: Table [dbo].[RentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1432SET ANSI_NULLS ON
1433GO
1434SET QUOTED_IDENTIFIER ON
1435GO
1436CREATE TABLE [dbo].[RentCashSetShopPrice](
1437 [RCSSPID] [int] IDENTITY(1,1) NOT NULL,
1438 [CSSID] [int] NULL,
1439 [RentHourPeriod] [smallint] NULL,
1440 [CashPrice] [int] NULL,
1441PRIMARY KEY CLUSTERED
1442(
1443 [RCSSPID] ASC
1444)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1445) ON [PRIMARY]
1446
1447GO
1448/****** Object: Table [dbo].[RentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1449SET ANSI_NULLS ON
1450GO
1451SET QUOTED_IDENTIFIER ON
1452GO
1453CREATE TABLE [dbo].[RentCashShopPrice](
1454 [RCSPID] [int] IDENTITY(1,1) NOT NULL,
1455 [CSID] [int] NULL,
1456 [RentHourPeriod] [smallint] NULL,
1457 [CashPrice] [int] NULL,
1458PRIMARY KEY CLUSTERED
1459(
1460 [RCSPID] ASC
1461)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1462) ON [PRIMARY]
1463
1464GO
1465/****** Object: Table [dbo].[RentPeriodDay] Script Date: 28-05-2018 18:12:28 ******/
1466SET ANSI_NULLS ON
1467GO
1468SET QUOTED_IDENTIFIER ON
1469GO
1470CREATE TABLE [dbo].[RentPeriodDay](
1471 [Day] [int] NOT NULL,
1472 [Hour] [int] NOT NULL,
1473PRIMARY KEY CLUSTERED
1474(
1475 [Day] ASC
1476)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1477UNIQUE NONCLUSTERED
1478(
1479 [Hour] ASC
1480)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1481) ON [PRIMARY]
1482
1483GO
1484/****** Object: Table [dbo].[RentType] Script Date: 28-05-2018 18:12:28 ******/
1485SET ANSI_NULLS ON
1486GO
1487SET QUOTED_IDENTIFIER ON
1488GO
1489CREATE TABLE [dbo].[RentType](
1490 [TypeID] [int] NOT NULL,
1491 [Description] [varchar](256) NULL,
1492PRIMARY KEY CLUSTERED
1493(
1494 [TypeID] ASC
1495)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1496) ON [PRIMARY]
1497
1498GO
1499/****** Object: Table [dbo].[ServerLog] Script Date: 28-05-2018 18:12:28 ******/
1500SET ANSI_NULLS ON
1501GO
1502SET QUOTED_IDENTIFIER ON
1503GO
1504CREATE TABLE [dbo].[ServerLog](
1505 [id] [int] IDENTITY(1,1) NOT NULL,
1506 [ServerID] [smallint] NULL,
1507 [PlayerCount] [smallint] NULL,
1508 [GameCount] [smallint] NULL,
1509 [Time] [smalldatetime] NULL,
1510 [BlockCount] [int] NULL,
1511 [NonBlockCount] [int] NULL
1512) ON [PRIMARY]
1513
1514GO
1515/****** Object: Table [dbo].[ServerStatus] Script Date: 28-05-2018 18:12:28 ******/
1516SET ANSI_NULLS ON
1517GO
1518SET QUOTED_IDENTIFIER ON
1519GO
1520CREATE TABLE [dbo].[ServerStatus](
1521 [ServerID] [int] NOT NULL,
1522 [CurrPlayer] [smallint] NULL,
1523 [MaxPlayer] [smallint] NULL,
1524 [Time] [datetime] NULL,
1525 [IP] [varchar](32) NULL,
1526 [Port] [int] NULL,
1527 [ServerName] [varchar](64) NULL,
1528 [Opened] [tinyint] NULL,
1529 [Type] [int] NULL,
1530 CONSTRAINT [ServerStatus_PK] PRIMARY KEY CLUSTERED
1531(
1532 [ServerID] ASC
1533)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1534) ON [PRIMARY]
1535
1536GO
1537/****** Object: Table [dbo].[ServerType] Script Date: 28-05-2018 18:12:28 ******/
1538SET ANSI_NULLS ON
1539GO
1540SET QUOTED_IDENTIFIER ON
1541GO
1542CREATE TABLE [dbo].[ServerType](
1543 [Type] [int] NOT NULL,
1544 [Description] [varchar](128) NULL,
1545PRIMARY KEY CLUSTERED
1546(
1547 [Type] ASC
1548)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1549) ON [PRIMARY]
1550
1551GO
1552/****** Object: Table [dbo].[SetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1553SET ANSI_NULLS ON
1554GO
1555SET QUOTED_IDENTIFIER ON
1556GO
1557CREATE TABLE [dbo].[SetItemPurchaseLogByCash](
1558 [id] [int] IDENTITY(1,1) NOT NULL,
1559 [AID] [int] NULL,
1560 [CSSID] [int] NULL,
1561 [Date] [datetime] NOT NULL,
1562 [Cash] [int] NULL,
1563 [RentHourPeriod] [int] NULL,
1564 [MobileCode] [char](16) NULL
1565) ON [PRIMARY]
1566
1567GO
1568/****** Object: Table [dbo].[sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
1569SET ANSI_NULLS ON
1570GO
1571SET QUOTED_IDENTIFIER ON
1572GO
1573CREATE TABLE [dbo].[sjr_TableSizeIncr](
1574 [name] [varchar](40) NULL,
1575 [rows] [int] NULL,
1576 [reserved] [varchar](100) NULL,
1577 [date] [varchar](100) NULL,
1578 [index_size] [varchar](100) NULL,
1579 [unused] [varchar](100) NULL,
1580 [rd] [datetime] NULL
1581) ON [PRIMARY]
1582
1583GO
1584/****** Object: Table [dbo].[TESTE] Script Date: 28-05-2018 18:12:28 ******/
1585SET ANSI_NULLS ON
1586GO
1587SET QUOTED_IDENTIFIER ON
1588GO
1589CREATE TABLE [dbo].[TESTE](
1590 [AID] [int] IDENTITY(1,1) NOT NULL,
1591 [UserID] [varchar](20) NOT NULL,
1592 [UGradeID] [int] NOT NULL,
1593 [PGradeID] [int] NOT NULL,
1594 [RegDate] [datetime] NOT NULL,
1595 [Name] [varchar](50) NOT NULL,
1596 [Email] [varchar](50) NULL,
1597 [RegNum] [varchar](50) NULL,
1598 [Age] [smallint] NULL,
1599 [Sex] [tinyint] NULL,
1600 [ZipCode] [varchar](50) NULL,
1601 [Address] [varchar](256) NULL,
1602 [Country] [varchar](50) NULL,
1603 [LastCID] [int] NULL,
1604 [Cert] [tinyint] NULL
1605) ON [PRIMARY]
1606
1607GO
1608/****** Object: Table [dbo].[TotalRanking] Script Date: 28-05-2018 18:12:28 ******/
1609SET ANSI_NULLS ON
1610GO
1611SET QUOTED_IDENTIFIER ON
1612GO
1613CREATE TABLE [dbo].[TotalRanking](
1614 [Rank] [int] IDENTITY(1,1) NOT NULL,
1615 [UserID] [varchar](20) NULL,
1616 [Name] [varchar](24) NOT NULL,
1617 [Level] [smallint] NOT NULL,
1618 [XP] [int] NULL,
1619 [KillCount] [int] NULL,
1620 [DeathCount] [int] NULL,
1621 CONSTRAINT [PK_TotalRanking_Rank] PRIMARY KEY CLUSTERED
1622(
1623 [Rank] ASC
1624)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1625) ON [PRIMARY]
1626
1627GO
1628/****** Object: Table [dbo].[UserGrade] Script Date: 28-05-2018 18:12:28 ******/
1629SET ANSI_NULLS ON
1630GO
1631SET QUOTED_IDENTIFIER ON
1632GO
1633CREATE TABLE [dbo].[UserGrade](
1634 [UGradeID] [int] NOT NULL,
1635 [Name] [varchar](128) NOT NULL,
1636 CONSTRAINT [UserGrade_PK] PRIMARY KEY CLUSTERED
1637(
1638 [UGradeID] ASC
1639)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1640) ON [PRIMARY]
1641
1642GO
1643/****** Object: Table [dbo].[UV] Script Date: 28-05-2018 18:12:28 ******/
1644SET ANSI_NULLS ON
1645GO
1646SET QUOTED_IDENTIFIER ON
1647GO
1648CREATE TABLE [dbo].[UV](
1649 [id] [int] IDENTITY(1,1) NOT NULL,
1650 [Time] [smalldatetime] NOT NULL,
1651 [Count] [int] NOT NULL,
1652PRIMARY KEY CLUSTERED
1653(
1654 [id] ASC
1655)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1656) ON [PRIMARY]
1657
1658GO
1659/****** Object: Table [dbo].[Web_ItemShop] Script Date: 28-05-2018 18:12:28 ******/
1660SET ANSI_NULLS ON
1661GO
1662SET QUOTED_IDENTIFIER ON
1663GO
1664CREATE TABLE [dbo].[Web_ItemShop](
1665 [ID] [int] IDENTITY(1,1) NOT NULL,
1666 [Name] [varchar](50) NOT NULL,
1667 [Description] [text] NOT NULL,
1668 [Stats] [text] NOT NULL,
1669 [Weight] [int] NOT NULL,
1670 [Gender] [int] NOT NULL,
1671 [Price] [int] NOT NULL,
1672 [Cat] [varchar](50) NOT NULL,
1673 [Active] [int] NOT NULL,
1674 [Image] [varchar](50) NOT NULL,
1675 [ItemID] [varchar](100) NOT NULL
1676) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1677
1678GO
1679/****** Object: Table [dbo].[Web_News] Script Date: 28-05-2018 18:12:28 ******/
1680SET ANSI_NULLS ON
1681GO
1682SET QUOTED_IDENTIFIER ON
1683GO
1684CREATE TABLE [dbo].[Web_News](
1685 [ID] [int] IDENTITY(1,1) NOT NULL,
1686 [Title] [varchar](50) NOT NULL,
1687 [Text] [text] NOT NULL,
1688 [Author] [varchar](25) NOT NULL,
1689 [Date] [varchar](25) NOT NULL,
1690 [Type] [int] NOT NULL,
1691 [Views] [int] NOT NULL,
1692 [Active] [int] NOT NULL
1693) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1694
1695GO
1696/****** Object: View [dbo].[viewCashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1697SET ANSI_NULLS ON
1698GO
1699SET QUOTED_IDENTIFIER ON
1700GO
1701
1702CREATE VIEW [dbo].[viewCashItemPresentLog]
1703AS
1704
1705SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1706i.Name AS ItemName, cpl.Date AS Date FROM CashItemPresentLog cpl, Account a(nolock), CashShop cs(nolock), Item i(nolock)
1707WHERE cpl.ReceiverAID=a.AID AND cpl.CSID IS Not NULL AND cpl.csid=cs.csid AND cs.ItemID=i.ItemID
1708
1709
1710
1711
1712GO
1713/****** Object: View [dbo].[viewCashSetItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1714SET ANSI_NULLS ON
1715GO
1716SET QUOTED_IDENTIFIER ON
1717GO
1718
1719
1720--------------------
1721
1722CREATE VIEW [dbo].[viewCashSetItemPresentLog] -- M
1723AS
1724
1725SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1726css.Name AS SetItemName, cpl.Date AS Date, MobileCode
1727FROM CashItemPresentLog cpl, Account a(nolock), CashSetShop css(nolock)
1728WHERE cpl.ReceiverAID=a.AID AND cpl.CSSID IS Not NULL AND cpl.cssid=css.cssid
1729
1730
1731
1732
1733GO
1734/****** Object: View [dbo].[viewEventGetCharacterLevel] Script Date: 28-05-2018 18:12:28 ******/
1735SET ANSI_NULLS ON
1736GO
1737SET QUOTED_IDENTIFIER ON
1738GO
1739
1740
1741-----------------------
1742
1743CREATE VIEW [dbo].[viewEventGetCharacterLevel]
1744AS
1745
1746SELECT a.userid AS userid, c.name AS chr_name, c.level AS chr_level FROM Account a(nolock), Character c(nolock)
1747WHERE
1748a.aid=c.aid AND c.DeleteFlag=0
1749
1750
1751
1752
1753GO
1754/****** Object: View [dbo].[viewHonorRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1755SET ANSI_NULLS ON
1756GO
1757SET QUOTED_IDENTIFIER ON
1758GO
1759
1760
1761----------------------------
1762
1763CREATE VIEW [dbo].[viewHonorRankGunzClan]
1764AS
1765
1766SELECT chr.CLID, chr.ClanName, chr.Point, chr.Wins, chr.Losses, c.EmblemUrl, chr.Ranking, chr.RankIncrease, chr.Year, chr.Month
1767FROM ClanHonorRanking chr(nolock), Clan c(nolock)
1768WHERE chr.CLID=c.CLID
1769
1770
1771
1772
1773GO
1774/****** Object: View [dbo].[viewItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1775SET ANSI_NULLS ON
1776GO
1777SET QUOTED_IDENTIFIER ON
1778GO
1779
1780
1781-----------------------------
1782
1783CREATE VIEW [dbo].[viewItemPurchaseLogByCash] -- M
1784AS
1785SELECT ipl.id AS id, a.UserID AS UserID, i.Name AS ItemName, ipl.Date AS Date, ipl.Cash AS Cash, ipl.MobileCode
1786FROM ItemPurchaseLogByCash ipl, Account a, Item i
1787WHERE ipl.AID = a.AID AND ipl.ItemID=i.ItemID
1788
1789
1790
1791
1792GO
1793/****** Object: View [dbo].[viewRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1794SET ANSI_NULLS ON
1795GO
1796SET QUOTED_IDENTIFIER ON
1797GO
1798
1799
1800-------------------------------
1801
1802CREATE VIEW [dbo].[viewRankGunzClan]
1803AS
1804
1805SELECT CLID, Name as ClanName, Point, Wins, Losses, EmblemUrl, Ranking, RankIncrease
1806FROM Clan(nolock)
1807WHERE DeleteFlag=0 and Ranking>0
1808
1809
1810
1811
1812GO
1813/****** Object: View [dbo].[viewSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1814SET ANSI_NULLS ON
1815GO
1816SET QUOTED_IDENTIFIER ON
1817GO
1818
1819
1820---------------------------------
1821
1822CREATE VIEW [dbo].[viewSetItemPurchaseLogByCash] -- M
1823AS
1824SELECT id, a.UserID AS UserID, css.Name AS SetItemName, sipl.Date AS Date, sipl.Cash, MobileCode
1825FROM SetItemPurchaseLogByCash sipl, Account a, CashSetShop css
1826WHERE sipl.AID = a.AID AND css.cssid = sipl.cssid
1827
1828
1829
1830
1831GO
1832ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentD__116A8EFB] DEFAULT (NULL) FOR [RentDate]
1833GO
1834ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentH__125EB334] DEFAULT (NULL) FOR [RentHourPeriod]
1835GO
1836ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountItem__Cnt__1352D76D] DEFAULT (NULL) FOR [Cnt]
1837GO
1838ALTER TABLE [dbo].[BlockCountryCode] ADD CONSTRAINT [DF__BlockCoun__IsBlo__0E04126B] DEFAULT ((0)) FOR [IsBlock]
1839GO
1840ALTER TABLE [dbo].[CashShopNewItem] ADD CONSTRAINT [DF__CashShopN__RegDa__2D67AF2B] DEFAULT (getdate()) FOR [RegDate]
1841GO
1842ALTER TABLE [dbo].[CashShopRank] ADD CONSTRAINT [DF__CashShopR__RegDa__1C3D2329] DEFAULT (getdate()) FOR [RegDate]
1843GO
1844ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentD__0E8E2250] DEFAULT (NULL) FOR [RentDate]
1845GO
1846ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentH__0F824689] DEFAULT (NULL) FOR [RentHourPeriod]
1847GO
1848ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__CharacterIt__Cnt__10766AC2] DEFAULT (NULL) FOR [Cnt]
1849GO
1850ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Exp__740F363E] DEFAULT ((0)) FOR [Exp]
1851GO
1852ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Level__75035A77] DEFAULT ((1)) FOR [Level]
1853GO
1854ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF_Clan_Point] DEFAULT ((1000)) FOR [Point]
1855GO
1856ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Wins__76EBA2E9] DEFAULT ((0)) FOR [Wins]
1857GO
1858ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__DeleteFlag__78D3EB5B] DEFAULT ((0)) FOR [DeleteFlag]
1859GO
1860ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Losses__6774552F] DEFAULT ((0)) FOR [Losses]
1861GO
1862ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Draws__68687968] DEFAULT ((0)) FOR [Draws]
1863GO
1864ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Ranking__695C9DA1] DEFAULT ((0)) FOR [Ranking]
1865GO
1866ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__TotalPoint__6A50C1DA] DEFAULT ((0)) FOR [TotalPoint]
1867GO
1868ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__RankIncrea__7E57BA87] DEFAULT ((0)) FOR [RankIncrease]
1869GO
1870ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__EmblemChec__004002F9] DEFAULT ((0)) FOR [EmblemChecksum]
1871GO
1872ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastDayRan__031C6FA4] DEFAULT ((0)) FOR [LastDayRanking]
1873GO
1874ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastMonthR__041093DD] DEFAULT ((0)) FOR [LastMonthRanking]
1875GO
1876ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__ReadC__2D7CBDC4] DEFAULT ((0)) FOR [ReadCount]
1877GO
1878ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Recom__2E70E1FD] DEFAULT ((0)) FOR [Recommend]
1879GO
1880ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBoa__HTML__2F650636] DEFAULT ((0)) FOR [HTML]
1881GO
1882ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Comme__30592A6F] DEFAULT ((0)) FOR [CommentCount]
1883GO
1884ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_ID__314D4EA8] DEFAULT ((0)) FOR [GR_ID]
1885GO
1886ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_De__324172E1] DEFAULT ((0)) FOR [GR_Depth]
1887GO
1888ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_Po__3335971A] DEFAULT ((0)) FOR [GR_Pos]
1889GO
1890ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Threa__3429BB53] DEFAULT ((0)) FOR [Thread]
1891GO
1892ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__ReadC__45544755] DEFAULT ((0)) FOR [ReadCount]
1893GO
1894ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Recom__46486B8E] DEFAULT ((0)) FOR [Recommend]
1895GO
1896ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__HTML__473C8FC7] DEFAULT ((0)) FOR [HTML]
1897GO
1898ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Comme__4830B400] DEFAULT ((0)) FOR [CommentCount]
1899GO
1900ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_ID__4924D839] DEFAULT ((0)) FOR [GR_ID]
1901GO
1902ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_De__4A18FC72] DEFAULT ((0)) FOR [GR_Depth]
1903GO
1904ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_Po__4B0D20AB] DEFAULT ((0)) FOR [GR_Pos]
1905GO
1906ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Threa__4C0144E4] DEFAULT ((0)) FOR [Thread]
1907GO
1908ALTER TABLE [dbo].[ClanHonorRanking] ADD CONSTRAINT [DF__ClanHonor__RankI__0504B816] DEFAULT ((0)) FOR [RankIncrease]
1909GO
1910ALTER TABLE [dbo].[ClanMember] ADD CONSTRAINT [DF__ClanMembe__ContP__6B44E613] DEFAULT ((0)) FOR [ContPoint]
1911GO
1912ALTER TABLE [dbo].[dtproperties] ADD CONSTRAINT [DF__dtpropert__versi__0A9D95DB] DEFAULT ((0)) FOR [version]
1913GO
1914ALTER TABLE [dbo].[Event_ClanPointRanking] ADD CONSTRAINT [DF__Event_Cla__RegDa__49CEE3AF] DEFAULT (getdate()) FOR [RegDate]
1915GO
1916ALTER TABLE [dbo].[PersonalinfoGunz] ADD CONSTRAINT [DF_PersonalinfoGunz_statusLUA] DEFAULT ((1)) FOR [statusLUA]
1917GO
1918ALTER TABLE [dbo].[sjr_TableSizeIncr] ADD CONSTRAINT [DF__sjr_TableSiz__rd__1229A90A] DEFAULT (getdate()) FOR [rd]
1919GO
1920ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Account_Table1_FK1] FOREIGN KEY([AID])
1921REFERENCES [dbo].[Account] ([AID])
1922GO
1923ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Account_Table1_FK1]
1924GO
1925ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Item_Table1_FK1] FOREIGN KEY([ItemID])
1926REFERENCES [dbo].[Item] ([ItemID])
1927GO
1928ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Item_Table1_FK1]
1929GO
1930ALTER TABLE [dbo].[AccountPenaltyPeriod] WITH NOCHECK ADD CONSTRAINT [AccountPenaltyPeriod_Account_FK1] FOREIGN KEY([AID])
1931REFERENCES [dbo].[Account] ([AID])
1932GO
1933ALTER TABLE [dbo].[AccountPenaltyPeriod] CHECK CONSTRAINT [AccountPenaltyPeriod_Account_FK1]
1934GO
1935ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Account_BringAccountItemLog_FK1] FOREIGN KEY([AID])
1936REFERENCES [dbo].[Account] ([AID])
1937GO
1938ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Account_BringAccountItemLog_FK1]
1939GO
1940ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Character_BringAccountItemLog_FK1] FOREIGN KEY([CID])
1941REFERENCES [dbo].[Character] ([CID])
1942GO
1943ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Character_BringAccountItemLog_FK1]
1944GO
1945ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Item_BringAccountItemLog_FK1] FOREIGN KEY([ItemID])
1946REFERENCES [dbo].[Item] ([ItemID])
1947GO
1948ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Item_BringAccountItemLog_FK1]
1949GO
1950ALTER TABLE [dbo].[CashItemPresentLog] WITH NOCHECK ADD CONSTRAINT [Account_CashItemPresentLog_FK1] FOREIGN KEY([ReceiverAID])
1951REFERENCES [dbo].[Account] ([AID])
1952GO
1953ALTER TABLE [dbo].[CashItemPresentLog] CHECK CONSTRAINT [Account_CashItemPresentLog_FK1]
1954GO
1955ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [CashSetShop_CashSetItem_FK1] FOREIGN KEY([CSSID])
1956REFERENCES [dbo].[CashSetShop] ([CSSID])
1957GO
1958ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [CashSetShop_CashSetItem_FK1]
1959GO
1960ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [Item_CashSetItem_FK1] FOREIGN KEY([CSID])
1961REFERENCES [dbo].[CashShop] ([CSID])
1962GO
1963ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [Item_CashSetItem_FK1]
1964GO
1965ALTER TABLE [dbo].[CashShop] WITH NOCHECK ADD CONSTRAINT [Item_CashShop_FK1] FOREIGN KEY([ItemID])
1966REFERENCES [dbo].[Item] ([ItemID])
1967GO
1968ALTER TABLE [dbo].[CashShop] CHECK CONSTRAINT [Item_CashShop_FK1]
1969GO
1970ALTER TABLE [dbo].[Character] WITH NOCHECK ADD CONSTRAINT [Account_Character_FK1] FOREIGN KEY([AID])
1971REFERENCES [dbo].[Account] ([AID])
1972GO
1973ALTER TABLE [dbo].[Character] CHECK CONSTRAINT [Account_Character_FK1]
1974GO
1975ALTER TABLE [dbo].[CharacterItem] WITH NOCHECK ADD CONSTRAINT [Character_CharacterItem_FK1] FOREIGN KEY([CID])
1976REFERENCES [dbo].[Character] ([CID])
1977GO
1978ALTER TABLE [dbo].[CharacterItem] CHECK CONSTRAINT [Character_CharacterItem_FK1]
1979GO
1980ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CharMgrTypeID])
1981REFERENCES [dbo].[CharacterMgrType] ([CharMgrTypeID])
1982GO
1983ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CharMgrTypeID])
1984REFERENCES [dbo].[CharacterMgrType] ([CharMgrTypeID])
1985GO
1986ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1987REFERENCES [dbo].[Character] ([CID])
1988GO
1989ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1990REFERENCES [dbo].[Character] ([CID])
1991GO
1992ALTER TABLE [dbo].[Clan] WITH NOCHECK ADD CONSTRAINT [Clan_Character_FK1] FOREIGN KEY([MasterCID])
1993REFERENCES [dbo].[Character] ([CID])
1994GO
1995ALTER TABLE [dbo].[Clan] CHECK CONSTRAINT [Clan_Character_FK1]
1996GO
1997ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_LoserCLID_FK1] FOREIGN KEY([LoserCLID])
1998REFERENCES [dbo].[Clan] ([CLID])
1999GO
2000ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_LoserCLID_FK1]
2001GO
2002ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_WinnerCLID_FK1] FOREIGN KEY([WinnerCLID])
2003REFERENCES [dbo].[Clan] ([CLID])
2004GO
2005ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_WinnerCLID_FK1]
2006GO
2007ALTER TABLE [dbo].[ClanHonorRanking] WITH NOCHECK ADD CONSTRAINT [ClanHonorRanking_CLID_FK1] FOREIGN KEY([CLID])
2008REFERENCES [dbo].[Clan] ([CLID])
2009GO
2010ALTER TABLE [dbo].[ClanHonorRanking] CHECK CONSTRAINT [ClanHonorRanking_CLID_FK1]
2011GO
2012ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK1] FOREIGN KEY([CLID])
2013REFERENCES [dbo].[Clan] ([CLID])
2014GO
2015ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK1]
2016GO
2017ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK2] FOREIGN KEY([CID])
2018REFERENCES [dbo].[Character] ([CID])
2019GO
2020ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK2]
2021GO
2022ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK1] FOREIGN KEY([CID])
2023REFERENCES [dbo].[Character] ([CID])
2024GO
2025ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK1]
2026GO
2027ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK2] FOREIGN KEY([FriendCID])
2028REFERENCES [dbo].[Character] ([CID])
2029GO
2030ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK2]
2031GO
2032ALTER TABLE [dbo].[Item] WITH NOCHECK ADD CONSTRAINT [Effect_Item_FK1] FOREIGN KEY([EffectID])
2033REFERENCES [dbo].[Effect] ([ID])
2034GO
2035ALTER TABLE [dbo].[Item] CHECK CONSTRAINT [Effect_Item_FK1]
2036GO
2037ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_PurchaseLogByCash_FK1] FOREIGN KEY([AID])
2038REFERENCES [dbo].[Account] ([AID])
2039GO
2040ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Account_PurchaseLogByCash_FK1]
2041GO
2042ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Item_PurchaseLogByCash_FK1] FOREIGN KEY([ItemID])
2043REFERENCES [dbo].[Item] ([ItemID])
2044GO
2045ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Item_PurchaseLogByCash_FK1]
2046GO
2047ALTER TABLE [dbo].[RentCashSetShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSSID])
2048REFERENCES [dbo].[CashSetShop] ([CSSID])
2049ON UPDATE CASCADE
2050GO
2051ALTER TABLE [dbo].[RentCashShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSID])
2052REFERENCES [dbo].[CashShop] ([CSID])
2053ON UPDATE CASCADE
2054GO
2055ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([AID])
2056REFERENCES [dbo].[Account] ([AID])
2057GO
2058ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1]
2059GO
2060ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([CSSID])
2061REFERENCES [dbo].[CashSetShop] ([CSSID])
2062GO
2063ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1]
2064GO
2065/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2066SET ANSI_NULLS ON
2067GO
2068SET QUOTED_IDENTIFIER OFF
2069GO
2070
2071create proc [dbo].[dt_addtosourcecontrol]
2072 @vchSourceSafeINI varchar(255) = '',
2073 @vchProjectName varchar(255) ='',
2074 @vchComment varchar(255) ='',
2075 @vchLoginName varchar(255) ='',
2076 @vchPassword varchar(255) =''
2077
2078as
2079
2080set nocount on
2081
2082declare @iReturn int
2083declare @iObjectId int
2084select @iObjectId = 0
2085
2086declare @iStreamObjectId int
2087select @iStreamObjectId = 0
2088
2089declare @VSSGUID varchar(100)
2090select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2091
2092declare @vchDatabaseName varchar(255)
2093select @vchDatabaseName = db_name()
2094
2095declare @iReturnValue int
2096select @iReturnValue = 0
2097
2098declare @iPropertyObjectId int
2099declare @vchParentId varchar(255)
2100
2101declare @iObjectCount int
2102select @iObjectCount = 0
2103
2104 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2105 if @iReturn <> 0 GOTO E_OAError
2106
2107
2108 /* Create Project in SS */
2109 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2110 'AddProjectToSourceSafe',
2111 NULL,
2112 @vchSourceSafeINI,
2113 @vchProjectName output,
2114 @@SERVERNAME,
2115 @vchDatabaseName,
2116 @vchLoginName,
2117 @vchPassword,
2118 @vchComment
2119
2120
2121 if @iReturn <> 0 GOTO E_OAError
2122
2123 /* Set Database Properties */
2124
2125 begin tran SetProperties
2126
2127 /* add high level object */
2128
2129 exec @iPropertyObjectId = dbo.dt_adduserobject_vcs 'VCSProjectID'
2130
2131 select @vchParentId = CONVERT(varchar(255),@iPropertyObjectId)
2132
2133 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProjectID', @vchParentId , NULL
2134 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProject' , @vchProjectName , NULL
2135 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSourceSafeINI' , @vchSourceSafeINI , NULL
2136 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLServer', @@SERVERNAME, NULL
2137 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName, NULL
2138
2139 if @@error <> 0 GOTO E_General_Error
2140
2141 commit tran SetProperties
2142
2143 select @iObjectCount = 0;
2144
2145CleanUp:
2146 select @vchProjectName
2147 select @iObjectCount
2148 return
2149
2150E_General_Error:
2151 /* this is an all or nothing. No specific error messages */
2152 goto CleanUp
2153
2154E_OAError:
2155 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2156 goto CleanUp
2157
2158
2159
2160
2161
2162
2163GO
2164/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
2165SET ANSI_NULLS ON
2166GO
2167SET QUOTED_IDENTIFIER OFF
2168GO
2169
2170create proc [dbo].[dt_addtosourcecontrol_u]
2171 @vchSourceSafeINI nvarchar(255) = '',
2172 @vchProjectName nvarchar(255) ='',
2173 @vchComment nvarchar(255) ='',
2174 @vchLoginName nvarchar(255) ='',
2175 @vchPassword nvarchar(255) =''
2176
2177as
2178 -- This procedure should no longer be called; dt_addtosourcecontrol should be called instead.
2179 -- Calls are forwarded to dt_addtosourcecontrol to maintain backward compatibility
2180 set nocount on
2181 exec dbo.dt_addtosourcecontrol
2182 @vchSourceSafeINI,
2183 @vchProjectName,
2184 @vchComment,
2185 @vchLoginName,
2186 @vchPassword
2187
2188
2189
2190
2191
2192
2193GO
2194/****** Object: StoredProcedure [dbo].[dt_adduserobject] Script Date: 28-05-2018 18:12:28 ******/
2195SET ANSI_NULLS ON
2196GO
2197SET QUOTED_IDENTIFIER OFF
2198GO
2199
2200/*
2201** Add an object to the dtproperties table
2202*/
2203create procedure [dbo].[dt_adduserobject]
2204as
2205 set nocount on
2206 /*
2207 ** Create the user object if it does not exist already
2208 */
2209 begin transaction
2210 insert dbo.dtproperties (property) VALUES ('DtgSchemaOBJECT')
2211 update dbo.dtproperties set objectid=@@identity
2212 where id=@@identity and property='DtgSchemaOBJECT'
2213 commit
2214 return @@identity
2215
2216
2217
2218
2219GO
2220/****** Object: StoredProcedure [dbo].[dt_adduserobject_vcs] Script Date: 28-05-2018 18:12:28 ******/
2221SET ANSI_NULLS ON
2222GO
2223SET QUOTED_IDENTIFIER OFF
2224GO
2225
2226create procedure [dbo].[dt_adduserobject_vcs]
2227 @vchProperty varchar(64)
2228
2229as
2230
2231set nocount on
2232
2233declare @iReturn int
2234 /*
2235 ** Create the user object if it does not exist already
2236 */
2237 begin transaction
2238 select @iReturn = objectid from dbo.dtproperties where property = @vchProperty
2239 if @iReturn IS NULL
2240 begin
2241 insert dbo.dtproperties (property) VALUES (@vchProperty)
2242 update dbo.dtproperties set objectid=@@identity
2243 where id=@@identity and property=@vchProperty
2244 select @iReturn = @@identity
2245 end
2246 commit
2247 return @iReturn
2248
2249
2250
2251
2252
2253
2254GO
2255/****** Object: StoredProcedure [dbo].[dt_checkinobject] Script Date: 28-05-2018 18:12:28 ******/
2256SET ANSI_NULLS ON
2257GO
2258SET QUOTED_IDENTIFIER OFF
2259GO
2260
2261create proc [dbo].[dt_checkinobject]
2262 @chObjectType char(4),
2263 @vchObjectName varchar(255),
2264 @vchComment varchar(255)='',
2265 @vchLoginName varchar(255),
2266 @vchPassword varchar(255)='',
2267 @iVCSFlags int = 0,
2268 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2269 @txStream1 Text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2270 @txStream2 Text = '', /* create stream */
2271 @txStream3 Text = '' /* grant stream */
2272
2273
2274as
2275
2276 set nocount on
2277
2278 declare @iReturn int
2279 declare @iObjectId int
2280 select @iObjectId = 0
2281 declare @iStreamObjectId int
2282
2283 declare @VSSGUID varchar(100)
2284 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2285
2286 declare @iPropertyObjectId int
2287 select @iPropertyObjectId = 0
2288
2289 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2290
2291 declare @vchProjectName varchar(255)
2292 declare @vchSourceSafeINI varchar(255)
2293 declare @vchServerName varchar(255)
2294 declare @vchDatabaseName varchar(255)
2295 declare @iReturnValue int
2296 declare @pos int
2297 declare @vchProcLinePiece varchar(255)
2298
2299
2300 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2301 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2302 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2303 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2304
2305 if @chObjectType = 'PROC'
2306 begin
2307 if @iActionFlag = 1
2308 begin
2309 /* Procedure Can have up to three streams
2310 Drop Stream, Create Stream, GRANT stream */
2311
2312 begin tran compile_all
2313
2314 /* try to compile the streams */
2315 exec (@txStream1)
2316 if @@error <> 0 GOTO E_Compile_Fail
2317
2318 exec (@txStream2)
2319 if @@error <> 0 GOTO E_Compile_Fail
2320
2321 exec (@txStream3)
2322 if @@error <> 0 GOTO E_Compile_Fail
2323 end
2324
2325 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2326 if @iReturn <> 0 GOTO E_OAError
2327
2328 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2329 if @iReturn <> 0 GOTO E_OAError
2330
2331 if @iActionFlag = 1
2332 begin
2333
2334 declare @iStreamLength int
2335
2336 select @pos=1
2337 select @iStreamLength = datalength(@txStream2)
2338
2339 if @iStreamLength > 0
2340 begin
2341
2342 while @pos < @iStreamLength
2343 begin
2344
2345 select @vchProcLinePiece = substring(@txStream2, @pos, 255)
2346
2347 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2348 if @iReturn <> 0 GOTO E_OAError
2349
2350 select @pos = @pos + 255
2351
2352 end
2353
2354 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2355 'CheckIn_StoredProcedure',
2356 NULL,
2357 @sProjectName = @vchProjectName,
2358 @sSourceSafeINI = @vchSourceSafeINI,
2359 @sServerName = @vchServerName,
2360 @sDatabaseName = @vchDatabaseName,
2361 @sObjectName = @vchObjectName,
2362 @sComment = @vchComment,
2363 @sLoginName = @vchLoginName,
2364 @sPassword = @vchPassword,
2365 @iVCSFlags = @iVCSFlags,
2366 @iActionFlag = @iActionFlag,
2367 @sStream = ''
2368
2369 end
2370 end
2371 else
2372 begin
2373
2374 select colid, text into #ProcLines
2375 from syscomments
2376 where id = object_id(@vchObjectName)
2377 order by colid
2378
2379 declare @iCurProcLine int
2380 declare @iProcLines int
2381 select @iCurProcLine = 1
2382 select @iProcLines = (select count(*) from #ProcLines)
2383 while @iCurProcLine <= @iProcLines
2384 begin
2385 select @pos = 1
2386 declare @iCurLineSize int
2387 select @iCurLineSize = len((select text from #ProcLines where colid = @iCurProcLine))
2388 while @pos <= @iCurLineSize
2389 begin
2390 select @vchProcLinePiece = convert(varchar(255),
2391 substring((select text from #ProcLines where colid = @iCurProcLine),
2392 @pos, 255 ))
2393 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2394 if @iReturn <> 0 GOTO E_OAError
2395 select @pos = @pos + 255
2396 end
2397 select @iCurProcLine = @iCurProcLine + 1
2398 end
2399 drop table #ProcLines
2400
2401 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2402 'CheckIn_StoredProcedure',
2403 NULL,
2404 @sProjectName = @vchProjectName,
2405 @sSourceSafeINI = @vchSourceSafeINI,
2406 @sServerName = @vchServerName,
2407 @sDatabaseName = @vchDatabaseName,
2408 @sObjectName = @vchObjectName,
2409 @sComment = @vchComment,
2410 @sLoginName = @vchLoginName,
2411 @sPassword = @vchPassword,
2412 @iVCSFlags = @iVCSFlags,
2413 @iActionFlag = @iActionFlag,
2414 @sStream = ''
2415 end
2416
2417 if @iReturn <> 0 GOTO E_OAError
2418
2419 if @iActionFlag = 1
2420 begin
2421 commit tran compile_all
2422 if @@error <> 0 GOTO E_Compile_Fail
2423 end
2424
2425 end
2426
2427CleanUp:
2428 return
2429
2430E_Compile_Fail:
2431 declare @lerror int
2432 select @lerror = @@error
2433 rollback tran compile_all
2434 RAISERROR (@lerror,16,-1)
2435 goto CleanUp
2436
2437E_OAError:
2438 if @iActionFlag = 1 rollback tran compile_all
2439 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2440 goto CleanUp
2441
2442
2443
2444
2445
2446
2447GO
2448/****** Object: StoredProcedure [dbo].[dt_checkinobject_u] Script Date: 28-05-2018 18:12:28 ******/
2449SET ANSI_NULLS ON
2450GO
2451SET QUOTED_IDENTIFIER OFF
2452GO
2453
2454create proc [dbo].[dt_checkinobject_u]
2455 @chObjectType char(4),
2456 @vchObjectName nvarchar(255),
2457 @vchComment nvarchar(255)='',
2458 @vchLoginName nvarchar(255),
2459 @vchPassword nvarchar(255)='',
2460 @iVCSFlags int = 0,
2461 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2462 @txStream1 text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2463 @txStream2 text = '', /* create stream */
2464 @txStream3 text = '' /* grant stream */
2465
2466as
2467 -- This procedure should no longer be called; dt_checkinobject should be called instead.
2468 -- Calls are forwarded to dt_checkinobject to maintain backward compatibility.
2469 set nocount on
2470 exec dbo.dt_checkinobject
2471 @chObjectType,
2472 @vchObjectName,
2473 @vchComment,
2474 @vchLoginName,
2475 @vchPassword,
2476 @iVCSFlags,
2477 @iActionFlag,
2478 @txStream1,
2479 @txStream2,
2480 @txStream3
2481
2482
2483
2484
2485
2486
2487GO
2488/****** Object: StoredProcedure [dbo].[dt_checkoutobject] Script Date: 28-05-2018 18:12:28 ******/
2489SET ANSI_NULLS ON
2490GO
2491SET QUOTED_IDENTIFIER OFF
2492GO
2493
2494create proc [dbo].[dt_checkoutobject]
2495 @chObjectType char(4),
2496 @vchObjectName varchar(255),
2497 @vchComment varchar(255),
2498 @vchLoginName varchar(255),
2499 @vchPassword varchar(255),
2500 @iVCSFlags int = 0,
2501 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2502
2503as
2504
2505 set nocount on
2506
2507 declare @iReturn int
2508 declare @iObjectId int
2509 select @iObjectId =0
2510
2511 declare @VSSGUID varchar(100)
2512 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2513
2514 declare @iReturnValue int
2515 select @iReturnValue = 0
2516
2517 declare @vchTempText varchar(255)
2518
2519 /* this is for our strings */
2520 declare @iStreamObjectId int
2521 select @iStreamObjectId = 0
2522
2523 declare @iPropertyObjectId int
2524 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2525
2526 declare @vchProjectName varchar(255)
2527 declare @vchSourceSafeINI varchar(255)
2528 declare @vchServerName varchar(255)
2529 declare @vchDatabaseName varchar(255)
2530 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2531 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2532 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2533 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2534
2535 if @chObjectType = 'PROC'
2536 begin
2537 /* Procedure Can have up to three streams
2538 Drop Stream, Create Stream, GRANT stream */
2539
2540 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2541
2542 if @iReturn <> 0 GOTO E_OAError
2543
2544 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2545 'CheckOut_StoredProcedure',
2546 NULL,
2547 @sProjectName = @vchProjectName,
2548 @sSourceSafeINI = @vchSourceSafeINI,
2549 @sObjectName = @vchObjectName,
2550 @sServerName = @vchServerName,
2551 @sDatabaseName = @vchDatabaseName,
2552 @sComment = @vchComment,
2553 @sLoginName = @vchLoginName,
2554 @sPassword = @vchPassword,
2555 @iVCSFlags = @iVCSFlags,
2556 @iActionFlag = @iActionFlag
2557
2558 if @iReturn <> 0 GOTO E_OAError
2559
2560
2561 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2562
2563 if @iReturn <> 0 GOTO E_OAError
2564
2565 create table #commenttext (id int identity, sourcecode varchar(255))
2566
2567
2568 select @vchTempText = 'STUB'
2569 while @vchTempText is not null
2570 begin
2571 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
2572 if @iReturn <> 0 GOTO E_OAError
2573
2574 if (@vchTempText = '') set @vchTempText = null
2575 if (@vchTempText is not null) insert into #commenttext (sourcecode) select @vchTempText
2576 end
2577
2578 select 'VCS'=sourcecode from #commenttext order by id
2579 select 'SQL'=text from syscomments where id = object_id(@vchObjectName) order by colid
2580
2581 end
2582
2583CleanUp:
2584 return
2585
2586E_OAError:
2587 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2588 GOTO CleanUp
2589
2590
2591
2592
2593
2594
2595GO
2596/****** Object: StoredProcedure [dbo].[dt_checkoutobject_u] Script Date: 28-05-2018 18:12:28 ******/
2597SET ANSI_NULLS ON
2598GO
2599SET QUOTED_IDENTIFIER OFF
2600GO
2601
2602create proc [dbo].[dt_checkoutobject_u]
2603 @chObjectType char(4),
2604 @vchObjectName nvarchar(255),
2605 @vchComment nvarchar(255),
2606 @vchLoginName nvarchar(255),
2607 @vchPassword nvarchar(255),
2608 @iVCSFlags int = 0,
2609 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2610
2611as
2612
2613 -- This procedure should no longer be called; dt_checkoutobject should be called instead.
2614 -- Calls are forwarded to dt_checkoutobject to maintain backward compatibility.
2615 set nocount on
2616 exec dbo.dt_checkoutobject
2617 @chObjectType,
2618 @vchObjectName,
2619 @vchComment,
2620 @vchLoginName,
2621 @vchPassword,
2622 @iVCSFlags,
2623 @iActionFlag
2624
2625
2626
2627
2628
2629
2630GO
2631/****** Object: StoredProcedure [dbo].[dt_displayoaerror] Script Date: 28-05-2018 18:12:28 ******/
2632SET ANSI_NULLS ON
2633GO
2634SET QUOTED_IDENTIFIER OFF
2635GO
2636
2637CREATE PROCEDURE [dbo].[dt_displayoaerror]
2638 @iObject int,
2639 @iresult int
2640as
2641
2642set nocount on
2643
2644declare @vchOutput varchar(255)
2645declare @hr int
2646declare @vchSource varchar(255)
2647declare @vchDescription varchar(255)
2648
2649 exec @hr = master.dbo.sp_OAGetErrorInfo @iObject, @vchSource OUT, @vchDescription OUT
2650
2651 select @vchOutput = @vchSource + ': ' + @vchDescription
2652 raiserror (@vchOutput,16,-1)
2653
2654 return
2655
2656
2657
2658
2659
2660GO
2661/****** Object: StoredProcedure [dbo].[dt_displayoaerror_u] Script Date: 28-05-2018 18:12:28 ******/
2662SET ANSI_NULLS ON
2663GO
2664SET QUOTED_IDENTIFIER OFF
2665GO
2666
2667CREATE PROCEDURE [dbo].[dt_displayoaerror_u]
2668 @iObject int,
2669 @iresult int
2670as
2671 -- This procedure should no longer be called; dt_displayoaerror should be called instead.
2672 -- Calls are forwarded to dt_displayoaerror to maintain backward compatibility.
2673 set nocount on
2674 exec dbo.dt_displayoaerror
2675 @iObject,
2676 @iresult
2677
2678
2679
2680
2681
2682
2683GO
2684/****** Object: StoredProcedure [dbo].[dt_droppropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2685SET ANSI_NULLS ON
2686GO
2687SET QUOTED_IDENTIFIER OFF
2688GO
2689
2690/*
2691** Drop one or all the associated properties of an object or an attribute
2692**
2693** dt_dropproperties objid, null or '' -- drop all properties of the object itself
2694** dt_dropproperties objid, property -- drop the property
2695*/
2696create procedure [dbo].[dt_droppropertiesbyid]
2697 @id int,
2698 @property varchar(64)
2699as
2700 set nocount on
2701
2702 if (@property is null) or (@property = '')
2703 delete from dbo.dtproperties where objectid=@id
2704 else
2705 delete from dbo.dtproperties
2706 where objectid=@id and property=@property
2707
2708
2709
2710
2711
2712GO
2713/****** Object: StoredProcedure [dbo].[dt_dropuserobjectbyid] Script Date: 28-05-2018 18:12:28 ******/
2714SET ANSI_NULLS ON
2715GO
2716SET QUOTED_IDENTIFIER OFF
2717GO
2718
2719/*
2720** Drop an object from the dbo.dtproperties table
2721*/
2722create procedure [dbo].[dt_dropuserobjectbyid]
2723 @id int
2724as
2725 set nocount on
2726 delete from dbo.dtproperties where objectid=@id
2727
2728
2729
2730
2731GO
2732/****** Object: StoredProcedure [dbo].[dt_generateansiname] Script Date: 28-05-2018 18:12:28 ******/
2733SET ANSI_NULLS ON
2734GO
2735SET QUOTED_IDENTIFIER OFF
2736GO
2737
2738/*
2739** Generate an ansi name that is unique in the dtproperties.value column
2740*/
2741create procedure [dbo].[dt_generateansiname](@name varchar(255) output)
2742as
2743 declare @prologue varchar(20)
2744 declare @indexstring varchar(20)
2745 declare @index integer
2746
2747 set @prologue = 'MSDT-A-'
2748 set @index = 1
2749
2750 while 1 = 1
2751 begin
2752 set @indexstring = cast(@index as varchar(20))
2753 set @name = @prologue + @indexstring
2754 if not exists (select value from dtproperties where value = @name)
2755 break
2756
2757 set @index = @index + 1
2758
2759 if (@index = 10000)
2760 goto TooMany
2761 end
2762
2763Leave:
2764
2765 return
2766
2767TooMany:
2768
2769 set @name = 'DIAGRAM'
2770 goto Leave
2771
2772
2773
2774
2775GO
2776/****** Object: StoredProcedure [dbo].[dt_getobjwithprop] Script Date: 28-05-2018 18:12:28 ******/
2777SET ANSI_NULLS ON
2778GO
2779SET QUOTED_IDENTIFIER OFF
2780GO
2781
2782/*
2783** Retrieve the owner object(s) of a given property
2784*/
2785create procedure [dbo].[dt_getobjwithprop]
2786 @property varchar(30),
2787 @value varchar(255)
2788as
2789 set nocount on
2790
2791 if (@property is null) or (@property = '')
2792 begin
2793 raiserror('Must specify a property name.',-1,-1)
2794 return (1)
2795 end
2796
2797 if (@value is null)
2798 select objectid id from dbo.dtproperties
2799 where property=@property
2800
2801 else
2802 select objectid id from dbo.dtproperties
2803 where property=@property and value=@value
2804
2805
2806
2807
2808GO
2809/****** Object: StoredProcedure [dbo].[dt_getobjwithprop_u] Script Date: 28-05-2018 18:12:28 ******/
2810SET ANSI_NULLS ON
2811GO
2812SET QUOTED_IDENTIFIER OFF
2813GO
2814
2815/*
2816** Retrieve the owner object(s) of a given property
2817*/
2818create procedure [dbo].[dt_getobjwithprop_u]
2819 @property varchar(30),
2820 @uvalue nvarchar(255)
2821as
2822 set nocount on
2823
2824 if (@property is null) or (@property = '')
2825 begin
2826 raiserror('Must specify a property name.',-1,-1)
2827 return (1)
2828 end
2829
2830 if (@uvalue is null)
2831 select objectid id from dbo.dtproperties
2832 where property=@property
2833
2834 else
2835 select objectid id from dbo.dtproperties
2836 where property=@property and uvalue=@uvalue
2837
2838
2839
2840
2841GO
2842/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2843SET ANSI_NULLS ON
2844GO
2845SET QUOTED_IDENTIFIER OFF
2846GO
2847
2848/*
2849** Retrieve properties by id's
2850**
2851** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2852** dt_getproperties objid, property -- retrieve the property specified
2853*/
2854create procedure [dbo].[dt_getpropertiesbyid]
2855 @id int,
2856 @property varchar(64)
2857as
2858 set nocount on
2859
2860 if (@property is null) or (@property = '')
2861 select property, version, value, lvalue
2862 from dbo.dtproperties
2863 where @id=objectid
2864 else
2865 select property, version, value, lvalue
2866 from dbo.dtproperties
2867 where @id=objectid and @property=property
2868
2869
2870
2871
2872GO
2873/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_u] Script Date: 28-05-2018 18:12:28 ******/
2874SET ANSI_NULLS ON
2875GO
2876SET QUOTED_IDENTIFIER OFF
2877GO
2878
2879/*
2880** Retrieve properties by id's
2881**
2882** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2883** dt_getproperties objid, property -- retrieve the property specified
2884*/
2885create procedure [dbo].[dt_getpropertiesbyid_u]
2886 @id int,
2887 @property varchar(64)
2888as
2889 set nocount on
2890
2891 if (@property is null) or (@property = '')
2892 select property, version, uvalue, lvalue
2893 from dbo.dtproperties
2894 where @id=objectid
2895 else
2896 select property, version, uvalue, lvalue
2897 from dbo.dtproperties
2898 where @id=objectid and @property=property
2899
2900
2901
2902
2903GO
2904/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs] Script Date: 28-05-2018 18:12:28 ******/
2905SET ANSI_NULLS ON
2906GO
2907SET QUOTED_IDENTIFIER OFF
2908GO
2909
2910create procedure [dbo].[dt_getpropertiesbyid_vcs]
2911 @id int,
2912 @property varchar(64),
2913 @value varchar(255) = NULL OUT
2914
2915as
2916
2917 set nocount on
2918
2919 select @value = (
2920 select value
2921 from dbo.dtproperties
2922 where @id=objectid and @property=property
2923 )
2924
2925
2926
2927
2928
2929GO
2930/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs_u] Script Date: 28-05-2018 18:12:28 ******/
2931SET ANSI_NULLS ON
2932GO
2933SET QUOTED_IDENTIFIER OFF
2934GO
2935
2936create procedure [dbo].[dt_getpropertiesbyid_vcs_u]
2937 @id int,
2938 @property varchar(64),
2939 @value nvarchar(255) = NULL OUT
2940
2941as
2942
2943 -- This procedure should no longer be called; dt_getpropertiesbyid_vcsshould be called instead.
2944 -- Calls are forwarded to dt_getpropertiesbyid_vcs to maintain backward compatibility.
2945 set nocount on
2946 exec dbo.dt_getpropertiesbyid_vcs
2947 @id,
2948 @property,
2949 @value output
2950
2951
2952
2953
2954
2955GO
2956/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2957SET ANSI_NULLS ON
2958GO
2959SET QUOTED_IDENTIFIER OFF
2960GO
2961
2962create proc [dbo].[dt_isundersourcecontrol]
2963 @vchLoginName varchar(255) = '',
2964 @vchPassword varchar(255) = '',
2965 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
2966
2967as
2968
2969 set nocount on
2970
2971 declare @iReturn int
2972 declare @iObjectId int
2973 select @iObjectId = 0
2974
2975 declare @VSSGUID varchar(100)
2976 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2977
2978 declare @iReturnValue int
2979 select @iReturnValue = 0
2980
2981 declare @iStreamObjectId int
2982 select @iStreamObjectId = 0
2983
2984 declare @vchTempText varchar(255)
2985
2986 declare @iPropertyObjectId int
2987 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2988
2989 declare @vchProjectName varchar(255)
2990 declare @vchSourceSafeINI varchar(255)
2991 declare @vchServerName varchar(255)
2992 declare @vchDatabaseName varchar(255)
2993 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2994 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2995 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2996 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2997
2998 if (@vchProjectName = '') set @vchProjectName = null
2999 if (@vchSourceSafeINI = '') set @vchSourceSafeINI = null
3000 if (@vchServerName = '') set @vchServerName = null
3001 if (@vchDatabaseName = '') set @vchDatabaseName = null
3002
3003 if (@vchProjectName is null) or (@vchSourceSafeINI is null) or (@vchServerName is null) or (@vchDatabaseName is null)
3004 begin
3005 RAISERROR('Not Under Source Control',16,-1)
3006 return
3007 end
3008
3009 if @iWhoToo = 1
3010 begin
3011
3012 /* Get List of Procs in the project */
3013 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3014 if @iReturn <> 0 GOTO E_OAError
3015
3016 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3017 'GetListOfObjects',
3018 NULL,
3019 @vchProjectName,
3020 @vchSourceSafeINI,
3021 @vchServerName,
3022 @vchDatabaseName,
3023 @vchLoginName,
3024 @vchPassword
3025
3026 if @iReturn <> 0 GOTO E_OAError
3027
3028 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
3029
3030 if @iReturn <> 0 GOTO E_OAError
3031
3032 create table #ObjectList (id int identity, vchObjectlist varchar(255))
3033
3034 select @vchTempText = 'STUB'
3035 while @vchTempText is not null
3036 begin
3037 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
3038 if @iReturn <> 0 GOTO E_OAError
3039
3040 if (@vchTempText = '') set @vchTempText = null
3041 if (@vchTempText is not null) insert into #ObjectList (vchObjectlist ) select @vchTempText
3042 end
3043
3044 select vchObjectlist from #ObjectList order by id
3045 end
3046
3047CleanUp:
3048 return
3049
3050E_OAError:
3051 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3052 goto CleanUp
3053
3054
3055
3056
3057
3058
3059GO
3060/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
3061SET ANSI_NULLS ON
3062GO
3063SET QUOTED_IDENTIFIER OFF
3064GO
3065
3066create proc [dbo].[dt_isundersourcecontrol_u]
3067 @vchLoginName nvarchar(255) = '',
3068 @vchPassword nvarchar(255) = '',
3069 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
3070
3071as
3072 -- This procedure should no longer be called; dt_isundersourcecontrol should be called instead.
3073 -- Calls are forwarded to dt_isundersourcecontrol to maintain backward compatibility.
3074 set nocount on
3075 exec dbo.dt_isundersourcecontrol
3076 @vchLoginName,
3077 @vchPassword,
3078 @iWhoToo
3079
3080
3081
3082
3083
3084
3085GO
3086/****** Object: StoredProcedure [dbo].[dt_removefromsourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
3087SET ANSI_NULLS ON
3088GO
3089SET QUOTED_IDENTIFIER OFF
3090GO
3091
3092create procedure [dbo].[dt_removefromsourcecontrol]
3093
3094as
3095
3096 set nocount on
3097
3098 declare @iPropertyObjectId int
3099 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3100
3101 exec dbo.dt_droppropertiesbyid @iPropertyObjectId, null
3102
3103 /* -1 is returned by dt_droppopertiesbyid */
3104 if @@error <> 0 and @@error <> -1 return 1
3105
3106 return 0
3107
3108
3109
3110
3111
3112
3113GO
3114/****** Object: StoredProcedure [dbo].[dt_setpropertybyid] Script Date: 28-05-2018 18:12:28 ******/
3115SET ANSI_NULLS ON
3116GO
3117SET QUOTED_IDENTIFIER OFF
3118GO
3119
3120/*
3121** If the property already exists, reset the value; otherwise add property
3122** id -- the id in sysobjects of the object
3123** property -- the name of the property
3124** value -- the text value of the property
3125** lvalue -- the binary value of the property (image)
3126*/
3127create procedure [dbo].[dt_setpropertybyid]
3128 @id int,
3129 @property varchar(64),
3130 @value varchar(255),
3131 @lvalue image
3132as
3133 set nocount on
3134 declare @uvalue nvarchar(255)
3135 set @uvalue = convert(nvarchar(255), @value)
3136 if exists (select * from dbo.dtproperties
3137 where objectid=@id and property=@property)
3138 begin
3139 --
3140 -- bump the version count for this row as we update it
3141 --
3142 update dbo.dtproperties set value=@value, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3143 where objectid=@id and property=@property
3144 end
3145 else
3146 begin
3147 --
3148 -- version count is auto-set to 0 on initial insert
3149 --
3150 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3151 values (@property, @id, @value, @uvalue, @lvalue)
3152 end
3153
3154
3155
3156
3157
3158GO
3159/****** Object: StoredProcedure [dbo].[dt_setpropertybyid_u] Script Date: 28-05-2018 18:12:28 ******/
3160SET ANSI_NULLS ON
3161GO
3162SET QUOTED_IDENTIFIER OFF
3163GO
3164
3165/*
3166** If the property already exists, reset the value; otherwise add property
3167** id -- the id in sysobjects of the object
3168** property -- the name of the property
3169** uvalue -- the text value of the property
3170** lvalue -- the binary value of the property (image)
3171*/
3172create procedure [dbo].[dt_setpropertybyid_u]
3173 @id int,
3174 @property varchar(64),
3175 @uvalue nvarchar(255),
3176 @lvalue image
3177as
3178 set nocount on
3179 --
3180 -- If we are writing the name property, find the ansi equivalent.
3181 -- If there is no lossless translation, generate an ansi name.
3182 --
3183 declare @avalue varchar(255)
3184 set @avalue = null
3185 if (@uvalue is not null)
3186 begin
3187 if (convert(nvarchar(255), convert(varchar(255), @uvalue)) = @uvalue)
3188 begin
3189 set @avalue = convert(varchar(255), @uvalue)
3190 end
3191 else
3192 begin
3193 if 'DtgSchemaNAME' = @property
3194 begin
3195 exec dbo.dt_generateansiname @avalue output
3196 end
3197 end
3198 end
3199 if exists (select * from dbo.dtproperties
3200 where objectid=@id and property=@property)
3201 begin
3202 --
3203 -- bump the version count for this row as we update it
3204 --
3205 update dbo.dtproperties set value=@avalue, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3206 where objectid=@id and property=@property
3207 end
3208 else
3209 begin
3210 --
3211 -- version count is auto-set to 0 on initial insert
3212 --
3213 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3214 values (@property, @id, @avalue, @uvalue, @lvalue)
3215 end
3216
3217
3218
3219
3220GO
3221/****** Object: StoredProcedure [dbo].[dt_validateloginparams] Script Date: 28-05-2018 18:12:28 ******/
3222SET ANSI_NULLS ON
3223GO
3224SET QUOTED_IDENTIFIER OFF
3225GO
3226
3227create proc [dbo].[dt_validateloginparams]
3228 @vchLoginName varchar(255),
3229 @vchPassword varchar(255)
3230as
3231
3232set nocount on
3233
3234declare @iReturn int
3235declare @iObjectId int
3236select @iObjectId =0
3237
3238declare @VSSGUID varchar(100)
3239select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3240
3241 declare @iPropertyObjectId int
3242 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3243
3244 declare @vchSourceSafeINI varchar(255)
3245 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3246
3247 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3248 if @iReturn <> 0 GOTO E_OAError
3249
3250 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3251 'ValidateLoginParams',
3252 NULL,
3253 @sSourceSafeINI = @vchSourceSafeINI,
3254 @sLoginName = @vchLoginName,
3255 @sPassword = @vchPassword
3256 if @iReturn <> 0 GOTO E_OAError
3257
3258CleanUp:
3259 return
3260
3261E_OAError:
3262 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3263 GOTO CleanUp
3264
3265
3266
3267
3268
3269
3270GO
3271/****** Object: StoredProcedure [dbo].[dt_validateloginparams_u] Script Date: 28-05-2018 18:12:28 ******/
3272SET ANSI_NULLS ON
3273GO
3274SET QUOTED_IDENTIFIER OFF
3275GO
3276
3277create proc [dbo].[dt_validateloginparams_u]
3278 @vchLoginName nvarchar(255),
3279 @vchPassword nvarchar(255)
3280as
3281
3282 -- This procedure should no longer be called; dt_validateloginparams should be called instead.
3283 -- Calls are forwarded to dt_validateloginparams to maintain backward compatibility.
3284 set nocount on
3285 exec dbo.dt_validateloginparams
3286 @vchLoginName,
3287 @vchPassword
3288
3289
3290
3291
3292
3293
3294GO
3295/****** Object: StoredProcedure [dbo].[dt_vcsenabled] Script Date: 28-05-2018 18:12:28 ******/
3296SET ANSI_NULLS ON
3297GO
3298SET QUOTED_IDENTIFIER OFF
3299GO
3300
3301create proc [dbo].[dt_vcsenabled]
3302
3303as
3304
3305set nocount on
3306
3307declare @iObjectId int
3308select @iObjectId = 0
3309
3310declare @VSSGUID varchar(100)
3311select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3312
3313 declare @iReturn int
3314 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3315 if @iReturn <> 0 raiserror('', 16, -1) /* Can't Load Helper DLLC */
3316
3317
3318
3319
3320
3321
3322GO
3323/****** Object: StoredProcedure [dbo].[dt_verstamp006] Script Date: 28-05-2018 18:12:28 ******/
3324SET ANSI_NULLS ON
3325GO
3326SET QUOTED_IDENTIFIER OFF
3327GO
3328
3329/*
3330** This procedure returns the version number of the stored
3331** procedures used by legacy versions of the Microsoft
3332** Visual Database Tools. Version is 7.0.00.
3333*/
3334create procedure [dbo].[dt_verstamp006]
3335as
3336 select 7000
3337
3338
3339
3340
3341GO
3342/****** Object: StoredProcedure [dbo].[dt_verstamp007] Script Date: 28-05-2018 18:12:28 ******/
3343SET ANSI_NULLS ON
3344GO
3345SET QUOTED_IDENTIFIER OFF
3346GO
3347
3348/*
3349** This procedure returns the version number of the stored
3350** procedures used by the the Microsoft Visual Database Tools.
3351** Version is 7.0.05.
3352*/
3353create procedure [dbo].[dt_verstamp007]
3354as
3355 select 7005
3356
3357
3358
3359
3360GO
3361/****** Object: StoredProcedure [dbo].[dt_whocheckedout] Script Date: 28-05-2018 18:12:28 ******/
3362SET ANSI_NULLS ON
3363GO
3364SET QUOTED_IDENTIFIER OFF
3365GO
3366
3367create proc [dbo].[dt_whocheckedout]
3368 @chObjectType char(4),
3369 @vchObjectName varchar(255),
3370 @vchLoginName varchar(255),
3371 @vchPassword varchar(255)
3372
3373as
3374
3375set nocount on
3376
3377declare @iReturn int
3378declare @iObjectId int
3379select @iObjectId =0
3380
3381declare @VSSGUID varchar(100)
3382select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3383
3384 declare @iPropertyObjectId int
3385
3386 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3387
3388 declare @vchProjectName varchar(255)
3389 declare @vchSourceSafeINI varchar(255)
3390 declare @vchServerName varchar(255)
3391 declare @vchDatabaseName varchar(255)
3392 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
3393 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3394 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
3395 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
3396
3397 if @chObjectType = 'PROC'
3398 begin
3399 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3400
3401 if @iReturn <> 0 GOTO E_OAError
3402
3403 declare @vchReturnValue varchar(255)
3404 select @vchReturnValue = ''
3405
3406 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3407 'WhoCheckedOut',
3408 @vchReturnValue OUT,
3409 @sProjectName = @vchProjectName,
3410 @sSourceSafeINI = @vchSourceSafeINI,
3411 @sObjectName = @vchObjectName,
3412 @sServerName = @vchServerName,
3413 @sDatabaseName = @vchDatabaseName,
3414 @sLoginName = @vchLoginName,
3415 @sPassword = @vchPassword
3416
3417 if @iReturn <> 0 GOTO E_OAError
3418
3419 select @vchReturnValue
3420
3421 end
3422
3423CleanUp:
3424 return
3425
3426E_OAError:
3427 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3428 GOTO CleanUp
3429
3430
3431
3432
3433
3434
3435GO
3436/****** Object: StoredProcedure [dbo].[dt_whocheckedout_u] Script Date: 28-05-2018 18:12:28 ******/
3437SET ANSI_NULLS ON
3438GO
3439SET QUOTED_IDENTIFIER OFF
3440GO
3441
3442create proc [dbo].[dt_whocheckedout_u]
3443 @chObjectType char(4),
3444 @vchObjectName nvarchar(255),
3445 @vchLoginName nvarchar(255),
3446 @vchPassword nvarchar(255)
3447
3448as
3449
3450 -- This procedure should no longer be called; dt_whocheckedout should be called instead.
3451 -- Calls are forwarded to dt_whocheckedout to maintain backward compatibility.
3452 set nocount on
3453 exec dbo.dt_whocheckedout
3454 @chObjectType,
3455 @vchObjectName,
3456 @vchLoginName,
3457 @vchPassword
3458
3459
3460
3461
3462
3463
3464GO
3465/****** Object: StoredProcedure [dbo].[LUG_checkAccountByEmail] Script Date: 28-05-2018 18:12:28 ******/
3466SET ANSI_NULLS ON
3467GO
3468SET QUOTED_IDENTIFIER ON
3469GO
3470
3471CREATE Procedure [dbo].[LUG_checkAccountByEmail]
3472
3473 (
3474 @UserID VARCHAR(24),
3475 @email VARCHAR(50),
3476 @result BIT OUTPUT
3477 )
3478
3479
3480AS
3481
3482-- LEVEUP UP BRAZIL - Please, do not modify this procedure!
3483-- Return 0 = Not Exist
3484-- Return 1 = Exist
3485
3486SET NOCOUNT ON
3487
3488-- Check if user exists
3489IF EXISTS (SELECT 1 FROM game.account WHERE UserID = @UserID AND email = @email)
3490 SET @result = 1
3491ELSE
3492 SET @result = 0
3493
3494
3495
3496GO
3497/****** Object: StoredProcedure [dbo].[LUG_ChkLogon] Script Date: 28-05-2018 18:12:28 ******/
3498SET ANSI_NULLS ON
3499GO
3500SET QUOTED_IDENTIFIER ON
3501GO
3502
3503
3504
3505CREATE PROC [dbo].[LUG_ChkLogon]
3506(
3507 @userId NVARCHAR(24),
3508 @passwd NVARCHAR(24),
3509 @result BIT OUTPUT
3510)
3511AS
3512BEGIN
3513 IF EXISTS (SELECT 1 FROM game.login (NOLOCK) WHERE [userId] = @userId AND password = @passwd)
3514 SET @result = 1
3515 ELSE
3516 SET @result = 0
3517END
3518
3519
3520
3521
3522
3523
3524GO
3525/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountData] Script Date: 28-05-2018 18:12:28 ******/
3526SET ANSI_NULLS ON
3527GO
3528SET QUOTED_IDENTIFIER ON
3529GO
3530
3531
3532CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountData]
3533(
3534 @gameUserId VARCHAR(24),
3535 @userNameAcc VARCHAR(50),
3536 @email VARCHAR(50),
3537 @birthday DATETIME,
3538 @sex BIT,
3539 @zipcode VARCHAR(10),
3540 @address VARCHAR(250),
3541 @country VARCHAR(3),
3542 @city VARCHAR(50),
3543 @state VARCHAR(2),
3544 @connecType INT,
3545 @phone VARCHAR(13),
3546 @speed INT,
3547 @msgLU BIT
3548)
3549AS
3550
3551SET XACT_ABORT ON
3552
3553BEGIN TRAN
3554
3555 --Realizando UPDATE na base RA
3556 UPDATE
3557 game.Account
3558 SET
3559 name = @userNameAcc,
3560 email = @email,
3561 age = SUBSTRING(CONVERT(VARCHAR, @birthday,103), 7, 4),
3562 sex = @sex,
3563 zipcode = @zipcode,
3564 address = @address,
3565 country = @country
3566 WHERE
3567 userid = @gameUserId
3568
3569 IF @@ERROR <> 0
3570 BEGIN
3571 ROLLBACK TRAN
3572 RETURN
3573 END
3574
3575 --Realizando UPDATE na base RA
3576 UPDATE
3577 personal
3578 SET
3579 birthday = convert(smalldatetime, @birthday, 112),
3580 city = @city,
3581 state = @state,
3582 connecType = @connecType,
3583 phone = @phone,
3584 speed = @speed,
3585 msgLU = @msgLU
3586 FROM
3587 game.personalInfoGunz personal
3588 INNER JOIN game.Account acc ON personal.AID = acc.AID
3589 WHERE
3590 acc.userid = @gameUserId
3591
3592 IF @@ERROR <> 0
3593 BEGIN
3594 ROLLBACK TRAN
3595 RETURN
3596 END
3597
3598COMMIT TRAN
3599
3600
3601
3602
3603
3604GO
3605/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountEmail] Script Date: 28-05-2018 18:12:28 ******/
3606SET ANSI_NULLS OFF
3607GO
3608SET QUOTED_IDENTIFIER OFF
3609GO
3610
3611
3612CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountEmail]
3613(
3614 @gameUserId VARCHAR(24),
3615 @email VARCHAR(50)
3616)
3617AS
3618
3619SET XACT_ABORT ON
3620
3621BEGIN TRAN
3622
3623 --Realizando UPDATE na base RA
3624 UPDATE
3625 game.Account
3626 SET
3627 email = @email
3628 WHERE
3629 aid = @gameUserId
3630
3631 IF @@ERROR <> 0
3632 BEGIN
3633 ROLLBACK TRAN
3634 RETURN
3635 END
3636
3637
3638COMMIT TRAN
3639
3640
3641
3642GO
3643/****** Object: StoredProcedure [dbo].[LUG_ValidateForumUserTD] Script Date: 28-05-2018 18:12:28 ******/
3644SET ANSI_NULLS ON
3645GO
3646SET QUOTED_IDENTIFIER ON
3647GO
3648
3649
3650CREATE PROC [dbo].[LUG_ValidateForumUserTD]
3651@userId VARCHAR(24),
3652@passwd VARCHAR(24)
3653AS
3654
3655SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
3656SET NOCOUNT ON
3657
3658DECLARE @email VARCHAR(200)
3659
3660SELECT @email = b.email
3661FROM game.login a
3662 INNER JOIN game.account b
3663 ON a.AID = b.AID
3664WHERE a.userid = @userId
3665AND a.[password] COLLATE Latin1_General_CS_AI = @passwd
3666
3667SELECT @email AS email
3668
3669
3670
3671
3672
3673
3674GO
3675/****** Object: StoredProcedure [dbo].[spAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3676SET ANSI_NULLS ON
3677GO
3678SET QUOTED_IDENTIFIER ON
3679GO
3680
3681
3682-- 멤버 추가
3683CREATE PROC [dbo].[spAddClanMember]
3684 @CLID int,
3685 @CID int,
3686 @Grade tinyint
3687AS
3688 SET NOCOUNT ON
3689 -- í´ëžœì´ 존재하는지 ì²´í¬
3690 DECLARE @varClanCount int
3691
3692 SELECT @varClanCount=COUNT(*) FROM Clan(nolock) WHERE CLID=@CLID AND ((DeleteFlag IS NULL) OR (DeleteFlag=0))
3693 IF (@varClanCount = 0)
3694 BEGIN
3695 SELECT 0 AS Ret
3696 return (-1)
3697 END
3698
3699 -- í´ëžœì›ìˆ˜ ì²´í¬
3700 DECLARE @MemberCount int
3701
3702 SELECT @MemberCount=COUNT(*) FROM ClanMember(nolock) WHERE CLID=@CLID
3703 IF @MemberCount >= 64 -- 최대 64명까지 가능
3704 BEGIN
3705 SELECT 0 AS Ret
3706 return (-1)
3707 END
3708
3709 BEGIN TRAN
3710 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@CLID, @CID, @Grade, GETDATE())
3711 IF 0 <> @@ERROR BEGIN
3712 ROLLBACK TRAN
3713 SELECT 0 AS Ret
3714 RETURN (-1)
3715 END
3716 COMMIT TRAN
3717 SELECT 1 AS Ret
3718
3719
3720
3721
3722
3723GO
3724/****** Object: StoredProcedure [dbo].[spAddFriend] Script Date: 28-05-2018 18:12:28 ******/
3725SET ANSI_NULLS ON
3726GO
3727SET QUOTED_IDENTIFIER ON
3728GO
3729
3730
3731-- sp
3732
3733-- 친구 추가
3734CREATE PROC [dbo].[spAddFriend]
3735 @CID int
3736, @FriendCID int
3737, @Favorite tinyint
3738AS
3739BEGIN TRAN
3740 SET NOCOUNT ON
3741 DECLARE @ID int
3742 INSERT INTO Friend(CID, FriendCID, Favorite, DeleteFlag, Type) Values (@CID, @FriendCID, @Favorite, 0, 1)
3743 IF 0 <> @@ERROR BEGIN
3744 ROLLBACK TRAN
3745 RETURN
3746 END
3747 SET @ID = @@IDENTITY
3748 SELECT @ID as ID
3749COMMIT TRAN
3750
3751
3752
3753
3754
3755GO
3756/****** Object: StoredProcedure [dbo].[spAdmWebAccountItemInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
3757SET ANSI_NULLS ON
3758GO
3759SET QUOTED_IDENTIFIER ON
3760GO
3761
3762CREATE PROC [dbo].[spAdmWebAccountItemInfoByAID]
3763 @AID int
3764AS
3765 SET NOCOUNT ON
3766 SELECT ai.AIID, ai.RentHourPeriod, i.Name, i.ItemID
3767 , CASE ISNULL(RentDate, 0 )
3768 WHEN 0 THEN '0'
3769 ELSE (RentHourPeriod-DATEDIFF (hh, RentDate, GetDate()))
3770 END AS RentRemain
3771 , CASE ISNULL(ai.RentDate, 0)
3772 WHEN 0 THEN '0'
3773 ELSE CAST(ai.RentDate AS varchar(24))
3774 END as RentDate
3775 FROM AccountItem ai(NOLOCK) JOIN Item i(NOLOCK)
3776 ON ai.AID = @AID AND i.ItemID = ai.ItemID
3777
3778
3779
3780
3781GO
3782/****** Object: StoredProcedure [dbo].[spAdmWebAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3783SET ANSI_NULLS ON
3784GO
3785SET QUOTED_IDENTIFIER ON
3786GO
3787
3788CREATE PROC [dbo].[spAdmWebAddClanMember]
3789 @CLID int
3790, @NewCID int
3791, @GMID varchar(20)
3792, @Ret int OUTPUT
3793AS
3794 SET NOCOUNT ON
3795
3796 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK)
3797 WHERE CID = @NewCID AND DeleteFlag <> 1) BEGIN
3798 SET @Ret = 0
3799 RETURN @Ret
3800 END
3801
3802 IF NOT EXISTS (SELECT CLID FROM Clan(NOLOCK)
3803 WHERE CLID = @CLID AND DeleteFlag <> 1) BEGIN
3804 SET @Ret = 0
3805 RETURN @Ret
3806 END
3807
3808 IF EXISTS (SELECT CMID FROM ClanMember(NOLOCK)
3809 WHERE CID = @NewCID) BEGIN
3810 SET @Ret = 0
3811 RETURN @Ret
3812 END
3813
3814 INSERT INTO ClanMember(CLID, CID, Grade, RegDate, ContPoint)
3815 VALUES (@CLID, @NewCID, 9, GETDATE(), 0)
3816 IF 0 <> @@ERROR BEGIN
3817 SET @Ret = 0
3818 RETURN @Ret
3819 END
3820
3821 SET @Ret = 1
3822 RETURN @Ret
3823
3824
3825
3826
3827GO
3828/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharDeathCount] Script Date: 28-05-2018 18:12:28 ******/
3829SET ANSI_NULLS ON
3830GO
3831SET QUOTED_IDENTIFIER ON
3832GO
3833
3834CREATE PROC [dbo].[spAdmWebChangeCharDeathCount]
3835 @CID int
3836, @DeathCount int
3837, @GMID varchar(20)
3838, @Ret int OUTPUT
3839AS
3840 SET NOCOUNT ON
3841
3842 IF (0 > @DeathCount) BEGIN
3843 SET @Ret = 0
3844 RETURN @Ret
3845 END
3846
3847 UPDATE Character SET DeathCount = @DeathCount
3848 WHERE CID = @CID
3849 IF 0 = @@ROWCOUNT BEGIN
3850 SET @Ret = 0
3851 RETURN @Ret
3852 END
3853
3854 SET @Ret = 1
3855 RETURN @Ret
3856
3857
3858
3859
3860GO
3861/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharKillCount] Script Date: 28-05-2018 18:12:28 ******/
3862SET ANSI_NULLS ON
3863GO
3864SET QUOTED_IDENTIFIER ON
3865GO
3866
3867CREATE PROC [dbo].[spAdmWebChangeCharKillCount]
3868 @CID int
3869, @KillCount int
3870, @GMID varchar(20)
3871, @Ret int OUTPUT
3872AS
3873 SET NOCOUNT ON
3874 IF (0 > @KillCount) BEGIN
3875 SET @Ret = 0
3876 RETURN @Ret
3877 END
3878
3879 UPDATE Character SET KillCount = @KillCount
3880 WHERE CID = @CID
3881 IF 0 = @@ROWCOUNT BEGIN
3882 SET @Ret = 0
3883 RETURN @Ret
3884 END
3885
3886 SET @Ret = 1
3887 RETURN @Ret
3888
3889
3890
3891
3892GO
3893/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
3894SET ANSI_NULLS ON
3895GO
3896SET QUOTED_IDENTIFIER ON
3897GO
3898
3899CREATE PROC [dbo].[spAdmWebChangeCharName]
3900 @CID int
3901, @CharName varchar(24)
3902, @GMID varchar(20)
3903, @Ret int OUTPUT
3904AS
3905 SET NOCOUNT ON
3906 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK)
3907 WHERE (DeleteFlag <> 1) AND (Name = @CharName)) BEGIN
3908 UPDATE Character SET Name = @CharName WHERE CID = @CID
3909 IF 0 = @@ROWCOUNT BEGIN
3910 SET @Ret = 0
3911 RETURN @Ret
3912 END
3913 END
3914 ELSE BEGIN
3915 SET @Ret = 0
3916 RETURN @Ret
3917 END
3918
3919 SET @Ret = 1
3920 RETURN @Ret
3921
3922
3923
3924
3925GO
3926/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanEXP] Script Date: 28-05-2018 18:12:28 ******/
3927SET ANSI_NULLS ON
3928GO
3929SET QUOTED_IDENTIFIER ON
3930GO
3931
3932CREATE PROC [dbo].[spAdmWebChangeClanEXP]
3933 @CLID int
3934, @NewEXP int
3935, @GMID varchar(20)
3936, @Ret int OUTPUT
3937AS
3938 SET NOCOUNT ON
3939
3940 IF 0 > @NewEXP BEGIN
3941 SET @Ret = 0
3942 RETURN @Ret
3943 END
3944
3945 UPDATE Clan SET EXP = @NewEXP
3946 WHERE CLID = @CLID AND DeleteFlag <> 1
3947 IF 0 = @@ROWCOUNT BEGIN
3948 SET @Ret = 0
3949 RETURN @Ret
3950 END
3951
3952 SET @Ret = 1
3953 RETURN @Ret
3954
3955
3956
3957
3958GO
3959/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanHomepage] Script Date: 28-05-2018 18:12:28 ******/
3960SET ANSI_NULLS ON
3961GO
3962SET QUOTED_IDENTIFIER ON
3963GO
3964
3965CREATE PROC [dbo].[spAdmWebChangeClanHomepage]
3966 @CLID int
3967, @NewHomePage varchar(128)
3968, @GMID varchar(20)
3969, @Ret int OUTPUT
3970AS
3971 SET NOCOUNT ON
3972
3973 UPDATE Clan SET Homepage = @NewHomepage
3974 WHERE CLID = @CLID AND DeleteFlag <> 1
3975 IF 0 = @@ROWCOUNT BEGIN
3976 SET @Ret = 0
3977 RETURN @Ret
3978 END
3979
3980 SET @Ret = 1
3981 RETURN @Ret
3982
3983
3984
3985
3986GO
3987/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanIntroduction] Script Date: 28-05-2018 18:12:28 ******/
3988SET ANSI_NULLS ON
3989GO
3990SET QUOTED_IDENTIFIER ON
3991GO
3992
3993CREATE PROC [dbo].[spAdmWebChangeClanIntroduction]
3994 @CLID int
3995, @NewIntroduction varchar(1024)
3996, @GMID varchar(20)
3997, @Ret int OUTPUT
3998AS
3999 SET NOCOUNT ON
4000
4001 UPDATE Clan SET Introduction = @NewIntroduction WHERE CLID = @CLID
4002 IF 0 = @@ROWCOUNT BEGIN
4003 SET @Ret = 0
4004 RETURN @Ret
4005 END
4006
4007 SET @Ret = 1
4008 RETURN @Ret
4009
4010
4011
4012
4013GO
4014/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
4015SET ANSI_NULLS ON
4016GO
4017SET QUOTED_IDENTIFIER ON
4018GO
4019
4020CREATE PROC [dbo].[spAdmWebChangeClanMemberGrade]
4021 @CLID int
4022, @CID int
4023, @NewGrade int
4024, @GMID varchar(20)
4025, @Ret int OUTPUT
4026AS
4027 SET NOCOUNT ON
4028
4029 IF NOT EXISTS (SELECT GradeID FROM ClanMemberGrade(NOLOCK)
4030 WHERE GradeID=@NewGrade) BEGIN
4031 SET @Ret=0
4032 RETURN @Ret
4033 END
4034
4035 IF 1=@NewGrade BEGIN -- master duplication check.
4036 IF EXISTS (SELECT CID FROM ClanMember(NOLOCK)
4037 WHERE CLID=@CLID AND Grade=@NewGrade) BEGIN
4038 SET @Ret=0
4039 RETURN @Ret
4040 END
4041 END
4042
4043 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
4044 IF 0=@@ROWCOUNT BEGIN
4045 SET @Ret=0
4046 RETURN @Ret
4047 END
4048
4049 SET @Ret=1
4050 RETURN @Ret
4051
4052
4053
4054
4055GO
4056/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanName] Script Date: 28-05-2018 18:12:28 ******/
4057SET ANSI_NULLS ON
4058GO
4059SET QUOTED_IDENTIFIER ON
4060GO
4061
4062CREATE PROC [dbo].[spAdmWebChangeClanName]
4063 @CLID int
4064, @NewClanName varchar(24)
4065, @GMID varchar(20)
4066, @Ret int OUTPUT
4067AS
4068 SET NOCOUNT ON
4069
4070 IF EXISTS (SELECT CLID FROM Clan(NOLOCK)
4071 WHERE Name = @NewClanName AND DeleteFlag <> 1) BEGIN
4072 SET @Ret = 0
4073 RETURN @Ret
4074 END
4075
4076 UPDATE Clan SET Name = @NewClanName
4077 WHERE CLID = @CLID AND DeleteFlag <> 1
4078 IF 0 = @@ROWCOUNT BEGIN
4079 SET @Ret = 0
4080 RETURN @Ret
4081 END
4082
4083 SET @Ret = 1
4084 RETURN @Ret
4085
4086
4087
4088
4089GO
4090/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanPoint] Script Date: 28-05-2018 18:12:28 ******/
4091SET ANSI_NULLS ON
4092GO
4093SET QUOTED_IDENTIFIER ON
4094GO
4095
4096CREATE PROC [dbo].[spAdmWebChangeClanPoint]
4097 @CLID int
4098, @NewClanPoint int
4099, @GMID varchar(20)
4100, @Ret int OUTPUT
4101AS
4102 SET NOCOUNT ON
4103
4104 IF 0 > @NewClanPoint BEGIN
4105 SET @Ret = 0
4106 RETURN @Ret
4107 END
4108
4109 UPDATE Clan SET Point = @NewClanPoint
4110 WHERE CLID = @CLID AND DeleteFlag <> 1
4111 IF 0 = @@ROWCOUNT BEGIN
4112 SET @Ret = 0
4113 RETURN @Ret
4114 END
4115
4116 SET @Ret = 1
4117 RETURN @Ret
4118
4119
4120
4121
4122GO
4123/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanTotalPoint] Script Date: 28-05-2018 18:12:28 ******/
4124SET ANSI_NULLS ON
4125GO
4126SET QUOTED_IDENTIFIER ON
4127GO
4128
4129CREATE PROC [dbo].[spAdmWebChangeClanTotalPoint]
4130 @CLID int
4131, @NewClanTotalPoint int
4132, @GMID varchar(20)
4133, @Ret int OUTPUT
4134AS
4135 SET NOCOUNT ON
4136
4137 IF 0 > @NewClanTotalPoint BEGIN
4138 SET @Ret = 0
4139 RETURN @Ret
4140 END
4141
4142 UPDATE Clan SET TotalPoint = @NewClanTotalPoint
4143 WHERE CLID = @CLID AND DeleteFlag <> 1
4144 IF 0 = @@ROWCOUNT BEGIN
4145 SET @Ret = 0
4146 RETURN @Ret
4147 END
4148
4149 SET @Ret = 1
4150 RETURN @Ret
4151
4152
4153
4154
4155GO
4156/****** Object: StoredProcedure [dbo].[spAdmWebChangeWinsLosses] Script Date: 28-05-2018 18:12:28 ******/
4157SET ANSI_NULLS ON
4158GO
4159SET QUOTED_IDENTIFIER ON
4160GO
4161
4162CREATE PROC [dbo].[spAdmWebChangeWinsLosses]
4163 @CLID int
4164, @NewWins int
4165, @NewLosses int
4166, @GMID varchar(20)
4167, @Ret int OUTPUT
4168AS
4169 SET NOCOUNT ON
4170
4171 IF (0 > @NewWins) OR (0 > @NewLosses) BEGIN
4172 SET @Ret = 0
4173 RETURN @Ret
4174 END
4175
4176 UPDATE Clan SET Wins = @NewWins, Losses = @NewLosses
4177 WHERE CLID = @CLID AND DeleteFlag <> 1
4178 IF 0=@@ROWCOUNT BEGIN
4179 SET @Ret = 0
4180 RETURN @Ret
4181 END
4182
4183 SET @Ret = 1
4184 RETURN @Ret
4185
4186
4187
4188
4189GO
4190/****** Object: StoredProcedure [dbo].[spAdmWebDeleteAccountItem] Script Date: 28-05-2018 18:12:28 ******/
4191SET ANSI_NULLS ON
4192GO
4193SET QUOTED_IDENTIFIER ON
4194GO
4195
4196CREATE PROC [dbo].[spAdmWebDeleteAccountItem]
4197 @AID int
4198, @AIID int
4199, @ItemID int
4200, @GMID varchar(20)
4201, @Ret int OUTPUT
4202AS
4203 SET NOCOUNT ON
4204
4205 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK)
4206 WHERE AID = @AID) BEGIN
4207 SET @Ret = 0
4208 RETURN @Ret
4209 END
4210
4211 DELETE AccountItem WHERE AIID = @AIID AND AID = @AID AND ItemID = @ItemID
4212 IF 0 <> @@ERROR BEGIN
4213 SET @Ret = 0
4214 RETURN @Ret
4215 END
4216
4217 SET @Ret = 1
4218 RETURN @Ret
4219
4220
4221
4222
4223GO
4224/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
4225SET ANSI_NULLS ON
4226GO
4227SET QUOTED_IDENTIFIER ON
4228GO
4229
4230CREATE PROC [dbo].[spAdmWebDeleteCashSetShopItem]
4231 @CSSID int
4232, @Ret int OUTPUT
4233AS
4234 SET NOCOUNT ON
4235 DELETE CashSetShop WHERE CSSID = @CSSID
4236 IF 0 <> @@ERROR BEGIN
4237 SET @Ret = 0
4238 RETURN
4239 END
4240
4241 SET @Ret = 1
4242 RETURN @Ret
4243
4244
4245
4246
4247GO
4248/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
4249SET ANSI_NULLS ON
4250GO
4251SET QUOTED_IDENTIFIER ON
4252GO
4253
4254CREATE PROC [dbo].[spAdmWebDeleteCashShopItem]
4255 @CSID int
4256, @Ret int OUTPUT
4257AS
4258 SET NOCOUNT ON
4259
4260 BEGIN TRAN
4261 DELETE CashShop WHERE CSID = @CSID
4262 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4263 ROLLBACK TRAN
4264 SET @Ret = 0
4265 RETURN @Ret
4266 END
4267
4268 DELETE RentCashShopPrice WHERE CSID = @CSID
4269 IF 0 <> @@ERROR BEGIN
4270 ROLLBACK TRAN
4271 SET @Ret = 0
4272 RETURN @Ret
4273 END
4274 COMMIT TRAN
4275
4276 SET @Ret = 1
4277 RETURN @Ret
4278
4279
4280
4281
4282GO
4283/****** Object: StoredProcedure [dbo].[spAdmWebDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
4284SET ANSI_NULLS ON
4285GO
4286SET QUOTED_IDENTIFIER ON
4287GO
4288
4289CREATE PROC [dbo].[spAdmWebDeleteChar]
4290 @AID int
4291, @CharNum smallint
4292, @CharName varchar(24)
4293, @GMID varchar(20)
4294, @Ret int OUTPUT
4295AS
4296 SET NOCOUNT ON
4297
4298 DECLARE @CID int
4299 DECLARE @ErrSlot int
4300 DECLARE @ErrDelInfo int
4301 DECLARE @ErrName int
4302
4303 SELECT @CID = CID FROM Character(NOLOCK)
4304 WHERE AID = @AID AND Name = @CharName AND CharNum = @CharNum
4305 IF @CID IS NULL BEGIN
4306 SET @Ret = 0
4307 RETURN @Ret
4308 END
4309
4310 BEGIN TRAN
4311 -- ìºì‰¬ì•„ì´í…œì€ 중앙ì€í–‰ìœ¼ë¡œ ëŒë ¤ì¤˜ì•¼ 함.
4312 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod, Cnt )
4313 SELECT @AID AS AID, ItemID, RentDate, RentHourPeriod, Cnt
4314 FROM CharacterItem(NOLOCK)
4315 WHERE CID = @CID AND ItemID > 499999
4316 IF 0 <> @@ERROR BEGIN
4317 ROLLBACK TRAN
4318 SET @Ret = 0
4319 RETURN @Ret
4320 END
4321
4322 DELETE CharacterItem WHERE CID = @CID
4323 IF 0 <> @@ERROR BEGIN
4324 ROLLBACK TRAN
4325 SET @Ret = 0
4326 RETURN @Ret
4327 END
4328
4329 UPDATE Character SET head_slot = NULL, chest_slot = NULL, hands_slot = NULL,
4330 legs_slot = NULL, feet_slot = NULL, fingerl_slot = NULL,
4331 fingerr_slot = NULL, melee_slot = NULL, primary_slot = NULL,
4332 secondary_slot = NULL, custom1_slot = NULL, custom2_slot = NULL
4333 WHERE CID = @CID
4334 SET @ErrSlot = @@ROWCOUNT
4335
4336 UPDATE Character SET DeleteName = Name, DeleteFlag = 1 WHERE CID = @CID
4337 SET @ErrDelInfo = @@ROWCOUNT
4338
4339 UPDATE Character SET Name = '' WHERE CID = @CID
4340 SET @ErrName = @@ROWCOUNT
4341
4342 IF (0 = @ErrSlot) OR (0 = @ErrDelInfo) OR (0 = @ErrName) BEGIN
4343 ROLLBACK TRAN
4344 SET @Ret = 0
4345 RETURN @Ret
4346 END
4347 COMMIT TRAN
4348
4349 SET @Ret = 1
4350 RETURN @Ret
4351
4352
4353
4354
4355GO
4356/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
4357SET ANSI_NULLS ON
4358GO
4359SET QUOTED_IDENTIFIER ON
4360GO
4361
4362CREATE PROC [dbo].[spAdmWebDeleteCharacterItem]
4363 @CID int
4364, @CIID int
4365, @ItemID int
4366, @GMID varchar(20)
4367, @Ret int OUTPUT
4368AS
4369 SET NOCOUNT ON
4370
4371 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4372 SET @Ret = 0
4373 RETURN @Ret
4374 END
4375
4376 -- ì‚ì œí•˜ë ¤ëŠ” ì•„ì´í…œì„ ì°©ìš©í•˜ê³ ìžˆë‹¤ë©´ ë¨¼ì € í•´ì œì‹œì³ì•¼ 함.
4377 BEGIN TRAN
4378 UPDATE Character SET head_slot = NULL WHERE CID = @CID AND head_slot = @CIID
4379 UPDATE Character SET chest_slot = NULL WHERE CID = @CID AND chest_slot = @CIID
4380 UPDATE Character SET hands_slot = NULL WHERE CID = @CID AND hands_slot = @CIID
4381 UPDATE Character SET legs_slot = NULL WHERE CID = @CID AND legs_slot = @CIID
4382 UPDATE Character SET feet_slot = NULL WHERE CID = @CID AND feet_slot = @CIID
4383 UPDATE Character SET fingerl_slot = NULL WHERE CID = @CID AND fingerl_slot = @CIID
4384 UPDATE Character SET fingerr_slot = NULL WHERE CID = @CID AND fingerr_slot = @CIID
4385 UPDATE Character SET melee_slot = NULL WHERE CID = @CID AND melee_slot = @CIID
4386 UPDATE Character SET primary_slot = NULL WHERE CID = @CID AND primary_slot = @CIID
4387 UPDATE Character SET secondary_slot = NULL WHERE CID = @CID AND secondary_slot = @CIID
4388 UPDATE Character SET custom1_slot = NULL WHERE CID = @CID AND custom1_slot = @CIID
4389 UPDATE Character SET custom2_slot = NULL WHERE CID = @CID AND custom2_slot = @CIID
4390
4391 DELETE CharacterItem WHERE CIID = @CIID AND CID = @CID AND ItemID = @ItemID
4392 IF 0 <> @@ERROR BEGIN
4393 ROLLBACK TRAN
4394 SET @Ret = 0
4395 RETURN @Ret
4396 END
4397 COMMIT TRAN
4398
4399 SET @Ret = 1
4400 RETURN @Ret
4401
4402
4403
4404
4405GO
4406/****** Object: StoredProcedure [dbo].[spAdmWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
4407SET ANSI_NULLS ON
4408GO
4409SET QUOTED_IDENTIFIER ON
4410GO
4411
4412CREATE PROC [dbo].[spAdmWebDeleteClanByCID]
4413 @MasterCID int /* 마스터 CID */
4414AS
4415 SET NOCOUNT ON
4416 DECLARE @CLID int
4417
4418 SELECT @CLID = c.CLID
4419 FROM Clan c(NOLOCK)
4420 WHERE c.MasterCID = @MasterCID
4421
4422 -- ìš”ì² ì¡°ê±´ 검사.
4423 IF (@MasterCID IS NULL) OR (@CLID IS NULL) BEGIN
4424 SELECT 0 AS Ret
4425 ROLLBACK TRAN
4426 RETURN
4427 END
4428
4429 BEGIN TRAN
4430 -- Clan Member ì‚ì œ.
4431 DELETE ClanMember WHERE CLID = @CLID
4432 IF 0 <> @@ERROR BEGIN
4433 SELECT 0 AS Ret
4434 ROLLBACK TRAN
4435 RETURN
4436 END
4437
4438 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
4439 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL WHERE CLID = @CLID
4440 UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
4441 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
4442 COMMIT TRAN
4443
4444 SELECT 1 AS Ret
4445
4446
4447
4448
4449GO
4450/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
4451SET ANSI_NULLS ON
4452GO
4453SET QUOTED_IDENTIFIER ON
4454GO
4455
4456
4457CREATE PROC [dbo].[spAdmWebDeleteCustomIP]
4458 @IPFrom varchar(15)
4459, @IPTo varchar(15)
4460, @Ret int OUTPUT
4461AS
4462 SET NOCOUNT ON
4463 DECLARE @TmpIPFrom BIGINT
4464 DECLARE @TmpIPTo BIGINT
4465
4466 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
4467 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
4468 IF @TmpIPFrom > @TmpIPTo BEGIN
4469 SET @Ret = 0
4470 RETURN @Ret
4471 END
4472
4473 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
4474 IF 0 <> @@ERROR SET @Ret = 0
4475 ELSE SET @Ret = 1
4476 RETURN @Ret
4477
4478
4479
4480
4481
4482GO
4483/****** Object: StoredProcedure [dbo].[spAdmWebDeleteOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
4484SET ANSI_NULLS ON
4485GO
4486SET QUOTED_IDENTIFIER ON
4487GO
4488
4489CREATE PROC [dbo].[spAdmWebDeleteOneCashSetItem]
4490 @CSSID int
4491, @CSID int
4492, @Ret int OUTPUT
4493AS
4494 SET NOCOUNT ON
4495 DELETE CashSetItem WHERE CSSID = @CSSID AND CSID = @CSID
4496 IF (0 <> @@ERROR) BEGIN
4497 SET @Ret = 0
4498 RETURN @Ret
4499 END
4500 SET @Ret = 1
4501 RETURN @Ret
4502
4503
4504
4505
4506GO
4507/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4508SET ANSI_NULLS ON
4509GO
4510SET QUOTED_IDENTIFIER ON
4511GO
4512
4513CREATE PROC [dbo].[spAdmWebDeleteRentCashSetShopPrice]
4514 @RCSSPID int
4515, @CSSID int
4516, @Ret int OUTPUT
4517AS
4518 SET NOCOUNT ON
4519 DELETE RentCashSetShopPrice WHERE RCSSPID = @RCSSPID AND CSSID = @CSSID
4520 IF 0 <> @@ERROR BEGIN
4521 SET @Ret = 0
4522 RETURN @Ret
4523 END
4524
4525 SET @Ret = 1
4526 RETURN @Ret
4527
4528
4529
4530
4531GO
4532/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4533SET ANSI_NULLS ON
4534GO
4535SET QUOTED_IDENTIFIER ON
4536GO
4537
4538CREATE PROC [dbo].[spAdmWebDeleteRentCashShopPrice]
4539 @RCSPID int
4540, @CSID int
4541, @Ret int OUTPUT
4542AS
4543 SET NOCOUNT ON
4544 DELETE RentCashShopPrice WHERE RCSPID = @RCSPID AND CSID = @CSID
4545 IF 0 <> @@ERROR BEGIN
4546 SET @Ret = 0
4547 RETURN @Ret
4548 END
4549 SET @Ret = 1
4550 RETURN @Ret
4551
4552
4553
4554
4555GO
4556/****** Object: StoredProcedure [dbo].[spAdmWebEditCharBP] Script Date: 28-05-2018 18:12:28 ******/
4557SET ANSI_NULLS ON
4558GO
4559SET QUOTED_IDENTIFIER ON
4560GO
4561
4562CREATE PROC [dbo].[spAdmWebEditCharBP]
4563 @CID int
4564, @BP int
4565, @GMID varchar(20)
4566, @Ret int OUTPUT
4567AS
4568 SET NOCOUNT ON
4569 UPDATE Character SET BP = @BP WHERE CID = @CID
4570 IF 0 = @@ROWCOUNT BEGIN
4571 SET @Ret = 0
4572 RETURN @Ret
4573 END
4574
4575 SET @Ret = 1
4576 RETURN @Ret
4577
4578
4579
4580
4581GO
4582/****** Object: StoredProcedure [dbo].[spAdmWebEditCharKillDeathCount] Script Date: 28-05-2018 18:12:28 ******/
4583SET ANSI_NULLS ON
4584GO
4585SET QUOTED_IDENTIFIER ON
4586GO
4587
4588CREATE PROC [dbo].[spAdmWebEditCharKillDeathCount]
4589 @CID int
4590, @KillCount int
4591, @DeathCount int
4592, @GMID varchar(20)
4593, @Ret int OUTPUT
4594AS
4595 IF (0 > @KillCount) OR (0 > @DeathCount) BEGIN
4596 SET @Ret = 0
4597 RETURN @Ret
4598 END
4599
4600 UPDATE Character SET KillCount = @KillCount, DeathCount = @DeathCount
4601 WHERE CID = @CID
4602 IF 0 = @@ROWCOUNT BEGIN
4603 SET @Ret = 0
4604 RETURN @Ret
4605 END
4606
4607 SET @Ret = 1
4608 RETURN @Ret
4609
4610
4611
4612
4613GO
4614/****** Object: StoredProcedure [dbo].[spAdmWebEditCharLevel] Script Date: 28-05-2018 18:12:28 ******/
4615SET ANSI_NULLS ON
4616GO
4617SET QUOTED_IDENTIFIER ON
4618GO
4619
4620CREATE PROC [dbo].[spAdmWebEditCharLevel]
4621 @CID int
4622, @Level smallint
4623, @GMID varchar(20)
4624, @Ret int OUTPUT
4625AS
4626 SET NOCOUNT ON
4627
4628 IF (1 > @Level) OR (99 < @Level) BEGIN
4629 SET @Ret = -1
4630 RETURN @Ret
4631 END
4632
4633 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4634 SET @Ret = -2
4635 RETURN @Ret
4636 END
4637
4638 IF EXISTS (SELECT CID FROM Character(NOLOCK)
4639 WHERE CID = @CID AND Level = @Level) BEGIN
4640 SET @Ret = 1
4641 RETURN @Ret
4642 END
4643
4644 DECLARE @XP int
4645
4646 SELECT @XP = MinXP FROM Level(NOLOCK) WHERE Level = @Level
4647 IF @XP IS NULL BEGIN
4648 SET @Ret = -3
4649 RETURN @Ret
4650 END
4651
4652 UPDATE Character SET Level = @Level, XP = @XP WHERE CID = @CID AND DeleteFlag <> 1
4653 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4654 SET @Ret = -4
4655 RETURN @Ret
4656 END
4657
4658
4659
4660
4661GO
4662/****** Object: StoredProcedure [dbo].[spAdmWebEditCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
4663SET ANSI_NULLS ON
4664GO
4665SET QUOTED_IDENTIFIER ON
4666GO
4667
4668CREATE PROC [dbo].[spAdmWebEditCharPlayTime]
4669 @CID int
4670, @PlayTime int
4671, @GMID varchar(20)
4672, @Ret int OUTPUT
4673AS
4674 SET NOCOUNT ON
4675 IF (0 > @PlayTime) BEGIN
4676 SET @Ret = 0
4677 RETURN @Ret
4678 END
4679
4680 UPDATE Character SET PlayTime = @PlayTime WHERE CID = @CID
4681 IF 0 = @@ROWCOUNT BEGIN
4682 SET @Ret = 0
4683 RETURN @Ret
4684 END
4685
4686 SET @Ret = 1
4687 RETURN @Ret
4688
4689
4690
4691
4692GO
4693/****** Object: StoredProcedure [dbo].[spAdmWebEditCharXP] Script Date: 28-05-2018 18:12:28 ******/
4694SET ANSI_NULLS ON
4695GO
4696SET QUOTED_IDENTIFIER ON
4697GO
4698
4699CREATE PROC [dbo].[spAdmWebEditCharXP]
4700 @CID int
4701, @XP int
4702, @GMID varchar(20)
4703, @Ret int OUTPUT
4704AS
4705 SET NOCOUNT ON
4706
4707 IF 0 > @XP BEGIN
4708 SET @Ret = 0
4709 RETURN @Ret
4710 END
4711
4712 DECLARE @MaxMinXP int
4713 DECLARE @Level smallint
4714
4715 SELECT TOP 1 @MaxMinXP = MinXP FROM Level(NOLOCK)
4716 ORDER BY MinXP DESC
4717
4718 IF @MaxMinXP > @XP BEGIN
4719 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4720 WHERE MinXP <= @XP ORDER BY Level DESC
4721 END
4722 ELSE BEGIN
4723 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4724 ORDER BY Level DESC
4725 END
4726
4727 UPDATE Character SET Level = @Level, XP = @XP
4728 WHERE CID = @CID AND DeleteFlag <> 1
4729 IF 0 = @@ROWCOUNT BEGIN
4730 SET @Ret = 0
4731 RETURN @Ret
4732 END
4733
4734 SET @Ret = 1
4735 RETURN @Ret
4736
4737
4738
4739
4740GO
4741/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4742SET ANSI_NULLS ON
4743GO
4744SET QUOTED_IDENTIFIER ON
4745GO
4746
4747CREATE PROC [dbo].[spAdmWebGetAccountInfoByAID]
4748 @AID int
4749AS
4750 SET NOCOUNT ON
4751
4752 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4753 FROM Account(NOLOCK)
4754 WHERE AID = @AID
4755
4756
4757
4758
4759GO
4760/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4761SET ANSI_NULLS ON
4762GO
4763SET QUOTED_IDENTIFIER ON
4764GO
4765
4766CREATE PROC [dbo].[spAdmWebGetAccountInfoByCharName]
4767 @CharName varchar( 24 )
4768AS
4769 SET NOCOUNT ON
4770
4771 SELECT a.UserID, a.AID, a.RegDate, a.UGradeID, a.Sex, a.Age, a.Name
4772 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
4773 ON c.Name = @CharName AND c.AID = a.AID
4774
4775
4776
4777
4778GO
4779/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4780SET ANSI_NULLS ON
4781GO
4782SET QUOTED_IDENTIFIER ON
4783GO
4784
4785CREATE PROC [dbo].[spAdmWebGetAccountInfoByUserID]
4786 @UserID varchar( 20 )
4787AS
4788 SET NOCOUNT ON
4789
4790 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4791 FROM Account(NOLOCK)
4792 WHERE UserID = @UserID
4793
4794
4795
4796
4797GO
4798/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountJoinStatistics] Script Date: 28-05-2018 18:12:28 ******/
4799SET ANSI_NULLS ON
4800GO
4801SET QUOTED_IDENTIFIER ON
4802GO
4803
4804CREATE PROC [dbo].[spAdmWebGetAccountJoinStatistics]
4805 @StartDate smalldatetime
4806, @EndDate smalldatetime
4807AS
4808 SET NOCOUNT ON
4809
4810 SELECT convert(char(10), RegDate, 120) as Date ,count(AID) as Count
4811 FROM Account(nolock)
4812 WHERE RegDate between convert(datetime, @StartDate) and convert(datetime, @EndDate)
4813 GROUP BY convert(char(10), RegDate, 120)
4814
4815
4816
4817
4818GO
4819/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4820SET ANSI_NULLS ON
4821GO
4822SET QUOTED_IDENTIFIER ON
4823GO
4824
4825CREATE PROC [dbo].[spAdmWebGetAllCharInfoByAID]
4826 @AID int
4827AS
4828 SET NOCOUNT ON
4829
4830 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime
4831 , c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount, c.DeleteFlag, c.DeleteName
4832 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4833 ON a.AID = @AID AND c.AID = a.AID
4834
4835
4836
4837
4838GO
4839/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4840SET ANSI_NULLS ON
4841GO
4842SET QUOTED_IDENTIFIER ON
4843GO
4844
4845CREATE PROC [dbo].[spAdmWebGetAllCharInfoByCharName]
4846 @CharName varchar( 24 )
4847AS
4848 SET NOCOUNT ON
4849
4850 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
4851 CharNum, Level, XP, BP, DeleteFlag, DeleteName,
4852 KillCount, DeathCount
4853 FROM Character(NOLOCK)
4854 WHERE Name = @CharName
4855 ORDER BY DeleteFlag, CharNum
4856
4857
4858
4859
4860GO
4861/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4862SET ANSI_NULLS ON
4863GO
4864SET QUOTED_IDENTIFIER ON
4865GO
4866
4867CREATE PROC [dbo].[spAdmWebGetAllCharInfoByOneCharName]
4868 @CharName varchar(24)
4869AS
4870 SET NOCOUNT ON
4871
4872 SELECT c2.Name, c2.CID
4873 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4874 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4875 ON c2.AID = a.AID
4876 ORDER BY c2.DeleteFlag, c2.CharNum
4877
4878
4879
4880
4881GO
4882/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4883SET ANSI_NULLS ON
4884GO
4885SET QUOTED_IDENTIFIER ON
4886GO
4887
4888CREATE PROC [dbo].[spAdmWebGetAllCharInfoByUserID]
4889 @UserID varchar( 20 )
4890AS
4891 SET NOCOUNT ON
4892
4893 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
4894 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag,
4895 c.DeleteName, c.KillCount, c.DeathCount
4896 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4897 ON a.UserID = @UserID AND c.AID = a.AID
4898 ORDER BY c.DeleteFlag, c.CharNum
4899
4900
4901
4902
4903GO
4904/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
4905SET ANSI_NULLS ON
4906GO
4907SET QUOTED_IDENTIFIER ON
4908GO
4909
4910CREATE PROC [dbo].[spAdmWebGetAllCharNameCIDByUserID]
4911 @UserID varchar(20)
4912AS
4913 SET NOCOUNT ON
4914
4915 SELECT c.Name, c.CID, c.DeleteFlag
4916 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4917 ON a.UserID = @UserID AND c.AID = a.AID
4918 ORDER BY c.DeleteFlag, c.CharNum
4919
4920
4921
4922
4923GO
4924/****** Object: StoredProcedure [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4925SET ANSI_NULLS ON
4926GO
4927SET QUOTED_IDENTIFIER ON
4928GO
4929
4930CREATE PROC [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName]
4931 @CharName varchar( 24 )
4932AS
4933 SET NOCOUNT ON
4934
4935 SELECT c2.Name, c2.CID
4936 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4937 ON c1.Name = 'sunge_se' AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4938 ON c2.AID = a.AID
4939 ORDER BY c2.DeleteFlag, c2.CharNum
4940
4941
4942
4943
4944GO
4945/****** Object: StoredProcedure [dbo].[spAdmWebGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
4946SET ANSI_NULLS ON
4947GO
4948SET QUOTED_IDENTIFIER ON
4949GO
4950
4951CREATE PROC [dbo].[spAdmWebGetBlockCountryCodeList]
4952 @Code char
4953AS
4954 SET NOCOUNT ON
4955
4956 SELECT bcc.CountryCode3, bcc.RoutingURL, bcc.IsBlock, cc.CountryName
4957 FROM BlockCountryCode bcc(NOLOCK) JOIN CountryCode cc(NOLOCK)
4958 ON cc.CountryCode3 = bcc.CountryCode3
4959 WHERE cc.CountryName LIKE @Code + '%'
4960 ORDER BY CountryName ASC
4961
4962
4963
4964
4965GO
4966/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLog] Script Date: 28-05-2018 18:12:28 ******/
4967SET ANSI_NULLS ON
4968GO
4969SET QUOTED_IDENTIFIER ON
4970GO
4971
4972CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLog]
4973 @CID int
4974, @ItemID int
4975AS
4976 SET NOCOUNT ON
4977
4978 SELECT ipl.id AS ID, c.Name AS CharName, ipl.ItemID, i.Name, c.CID,
4979 0 AS CIID, ipl.Bounty, ipl.CharBounty, i.Slot, ipl.Type, ipl.Date
4980 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
4981 ON c.CID = @CID AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
4982 ON i.ItemID = ipl.ItemID
4983 WHERE ipl.ItemID = @ItemID
4984 ORDER BY ipl.id DESC
4985
4986
4987
4988
4989GO
4990/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
4991SET ANSI_NULLS ON
4992GO
4993SET QUOTED_IDENTIFIER ON
4994GO
4995
4996CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName]
4997 @CharName varchar( 24 )
4998AS
4999 SET NOCOUNT ON
5000
5001 SELECT ipl.id AS ID, ipl.ItemID, i.Name, c.CID, 0 AS CIID, ipl.Bounty,
5002 ipl.CharBounty, i.Slot, ipl.type, ipl.Date
5003 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
5004 ON c.Name = @CharName AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
5005 ON i.ItemID = ipl.ItemID
5006 ORDER BY ipl.Date DESC
5007
5008
5009
5010
5011GO
5012/****** Object: StoredProcedure [dbo].[spAdmWebGetCaracterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
5013SET ANSI_NULLS ON
5014GO
5015SET QUOTED_IDENTIFIER ON
5016GO
5017
5018CREATE PROC [dbo].[spAdmWebGetCaracterMakingLog]
5019 @CharName varchar(24)
5020AS
5021 SET NOCOUNT ON
5022 SELECT a.UserID, cml.AID, cml.CharName, cml.Type, cml.Date
5023 FROM Account a(nolock), CharacterMakingLog cml(nolock)
5024 WHERE cml.CharName = @CharName AND a.AID = cml.AID
5025 ORDER BY cml.Date DESC
5026
5027
5028
5029
5030GO
5031/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5032SET ANSI_NULLS ON
5033GO
5034SET QUOTED_IDENTIFIER ON
5035GO
5036
5037CREATE PROC [dbo].[spAdmWebGetCashItemPresentRecvLog]
5038 @AID int
5039AS
5040 SET NOCOUNT ON
5041 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5042 , i.Name AS ItemName, cpl.Date, cpl.Cash
5043 , CASE ISNULL(cpl.RentHourPeriod, 0)
5044 WHEN 0 THEN '0'
5045 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5046 END AS 'RentHourPeriod'
5047 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5048 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashShop cs(NOLOCK)
5049 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5050 ON i.ItemID = cs.ItemID
5051 ORDER BY cpl.Date DESC
5052
5053
5054
5055
5056GO
5057/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5058SET ANSI_NULLS ON
5059GO
5060SET QUOTED_IDENTIFIER ON
5061GO
5062
5063CREATE PROC [dbo].[spAdmWebGetCashItemPresentSendLog]
5064 @AID int
5065AS
5066 SET NOCOUNT ON
5067 SELECT cpl.id, cpl.SenderUserID, ar.UserID AS ReceiverUserID
5068 , i.Name AS ItemName, cpl.Date, cpl.Cash
5069 , CASE ISNULL(cpl.RentHourPeriod, 0)
5070 WHEN 0 THEN '0'
5071 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5072 END AS 'RentHourPeriod'
5073 FROM (((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5074 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashShop cs(NOLOCK)
5075 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5076 ON i.ItemID = cs.ItemID) JOIN Account ar(NOLOCK)
5077 ON ar.AID = cpl.ReceiverAID
5078 ORDER BY cpl.Date DESC
5079
5080
5081
5082
5083GO
5084/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5085SET ANSI_NULLS ON
5086GO
5087SET QUOTED_IDENTIFIER ON
5088GO
5089
5090CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentRecvLog]
5091 @AID int
5092AS
5093 SET NOCOUNT ON
5094 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5095 , css.Name AS ItemName, cpl.Date, cpl.Cash
5096 , CASE ISNULL(cpl.RentHourPeriod, 0)
5097 WHEN 0 THEN '0'
5098 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5099 END AS 'RentHourPeriod'
5100 FROM (Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5101 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashSetShop css(NOLOCK)
5102 ON css.CSSID = cpl.CSSID
5103 ORDER BY cpl.Date DESC
5104
5105
5106
5107
5108GO
5109/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5110SET ANSI_NULLS ON
5111GO
5112SET QUOTED_IDENTIFIER ON
5113GO
5114
5115CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentSendLog]
5116 @AID int
5117AS
5118 SET NOCOUNT ON
5119 SELECT cpl.id, cpl.SenderUserID, aa.UserID AS ReceiverUserID
5120 , css.Name AS ItemName, cpl.Date, cpl.Cash
5121 , CASE ISNULL(cpl.RentHourPeriod, 0)
5122 WHEN 0 THEN '0'
5123 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5124 END AS 'RentHourPeriod'
5125 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5126 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashSetShop css(NOLOCK)
5127 ON css.CSSID = cpl.CSSID) JOIN Account aa(NOLOCK)
5128 ON aa.AID = cpl.ReceiverAID
5129 ORDER BY cpl.Date DESC
5130
5131
5132
5133
5134GO
5135/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetShopList] Script Date: 28-05-2018 18:12:28 ******/
5136SET ANSI_NULLS ON
5137GO
5138SET QUOTED_IDENTIFIER ON
5139GO
5140
5141CREATE PROC [dbo].[spAdmWebGetCashSetShopList]
5142AS
5143 SET NOCOUNT ON
5144 SELECT CSSID, Name
5145 FROM CashSetShop(NOLOCK)
5146 ORDER BY CSSID
5147
5148
5149
5150
5151GO
5152/****** Object: StoredProcedure [dbo].[spAdmWebGetCashShopList] Script Date: 28-05-2018 18:12:28 ******/
5153SET ANSI_NULLS ON
5154GO
5155SET QUOTED_IDENTIFIER ON
5156GO
5157
5158CREATE PROC [dbo].[spAdmWebGetCashShopList]
5159AS
5160 SET NOCOUNT ON
5161 SELECT cs.CSID, i.Name, i.Slot, cs.Opened, cs.NewItemOrder,
5162 cs.CashPrice, cs.WebImgName, ISNULL(cs.RentType, 0) AS 'RentType'
5163 FROM CashShop cs(NOLOCK) JOIN Item i(NOLOCK)
5164 ON i.ItemID = cs.ItemID
5165
5166
5167
5168
5169GO
5170/****** Object: StoredProcedure [dbo].[spAdmWebGetCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
5171SET ANSI_NULLS ON
5172GO
5173SET QUOTED_IDENTIFIER ON
5174GO
5175
5176CREATE PROC [dbo].[spAdmWebGetCharInfoByUserID]
5177 @UserID varchar(20)
5178AS
5179 SET NOCOUNT ON
5180
5181 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,c.Sex,
5182 c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag, c.DeleteName,
5183 c.KillCount, c.DeathCount
5184 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5185 ON a.UserID = @UserID AND c.AID = a.AID
5186 ORDER BY DeleteFlag, CharNum
5187
5188
5189
5190
5191GO
5192/****** Object: StoredProcedure [dbo].[spAdmWebGetCharItemByCID] Script Date: 28-05-2018 18:12:28 ******/
5193SET ANSI_NULLS ON
5194GO
5195SET QUOTED_IDENTIFIER ON
5196GO
5197
5198CREATE PROC [dbo].[spAdmWebGetCharItemByCID]
5199 @CID int
5200AS
5201BEGIN
5202 SET NOCOUNT ON
5203
5204 SELECT ci.ItemID, i.Name, ci.CIID, ci.RegDate AS RegDate,
5205 CASE
5206 WHEN ci.RentHourPeriod IS NOT NULL THEN (RentHourPeriod) - (DateDiff(hh, RentDate, GETDATE()))
5207 WHEN ci.RentHourPeriod IS NULL THEN -1
5208 ELSE -2 -- error.
5209 END AS RentPeriodRemainderHour,
5210 CASE ci.CIID
5211 WHEN c.head_slot THEN 'Head'
5212 WHEN c.chest_slot THEN 'Chest'
5213 WHEN c.hands_slot THEN 'Hands'
5214 WHEN c.legs_slot THEN 'Legs'
5215 WHEN c.feet_slot THEN 'Feet'
5216 WHEN c.fingerl_slot THEN 'Left finger'
5217 WHEN c.fingerr_slot THEN 'Right finger'
5218 WHEN c.melee_slot THEN 'Melee'
5219 WHEN c.primary_slot THEN 'Primary'
5220 WHEN c.secondary_slot THEN 'Secondary'
5221 WHEN c.custom1_slot THEN 'Custom1'
5222 WHEN c.custom2_slot THEN 'Custom2'
5223 ELSE 'Free item'
5224 END AS KeepOnPosition,
5225 CASE ci.CIID
5226 WHEN c.head_slot THEN 11
5227 WHEN c.chest_slot THEN 12
5228 WHEN c.hands_slot THEN 13
5229 WHEN c.legs_slot THEN 14
5230 WHEN c.feet_slot THEN 15
5231 WHEN c.fingerl_slot THEN 16
5232 WHEN c.fingerr_slot THEN 17
5233 WHEN c.melee_slot THEN 18
5234 WHEN c.primary_slot THEN 19
5235 WHEN c.secondary_slot THEN 20
5236 WHEN c.custom1_slot THEN 21
5237 WHEN c.custom2_slot THEN 22
5238 ELSE 23
5239 END AS Orders
5240 FROM (Character c(NOLOCK) JOIN CharacterItem ci(NOLOCK)
5241 ON c.CID = @CID AND ci.CID = c.CID) JOIN Item i(NOLOCK)
5242 ON i.ItemID = ci.ItemID
5243 ORDER BY Orders
5244END
5245
5246
5247
5248
5249GO
5250/****** Object: StoredProcedure [dbo].[spAdmWebGetCharLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
5251SET ANSI_NULLS ON
5252GO
5253SET QUOTED_IDENTIFIER ON
5254GO
5255
5256CREATE PROC [dbo].[spAdmWebGetCharLogByCharName]
5257 @CharName varchar(24)
5258AS
5259 SET NOCOUNT ON
5260
5261 SELECT a.UserID, cml.CharName, cml.Type, cml.Date
5262 FROM CharacterMakingLog cml(NOLOCK) JOIN Account a(NOLOCK)
5263 ON cml.CharName = @CharName AND a.AID = cml.AID
5264
5265
5266
5267
5268GO
5269/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItem] Script Date: 28-05-2018 18:12:28 ******/
5270SET ANSI_NULLS ON
5271GO
5272SET QUOTED_IDENTIFIER ON
5273GO
5274
5275CREATE PROC [dbo].[spAdmWebGetCharQuestItem]
5276 @CharName varchar( 24 )
5277AS
5278BEGIN
5279 SET NOCOUNT ON
5280
5281 SELECT QuestItemInfo
5282 FROM Character( NOLOCK )
5283 WHERE Name = @CharName
5284END
5285
5286
5287
5288
5289GO
5290/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
5291SET ANSI_NULLS ON
5292GO
5293SET QUOTED_IDENTIFIER ON
5294GO
5295
5296CREATE PROC [dbo].[spAdmWebGetCharQuestItemInfoByCID]
5297 @CID int
5298AS
5299 SET NOCOUNT ON
5300
5301 SELECT QuestItemInfo FROM Character(NOLOCK) WHERE CID = @CID
5302
5303
5304
5305
5306GO
5307/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5308SET ANSI_NULLS ON
5309GO
5310SET QUOTED_IDENTIFIER ON
5311GO
5312
5313CREATE PROC [dbo].[spAdmWebGetClanInfoByCharName]
5314 @CharName varchar(24)
5315AS
5316 SET NOCOUNT ON
5317
5318 DECLARE @CLID int
5319
5320 SELECT @CLID = cm.CLID
5321 FROM Character c(NOLOCK) JOIN ClanMember cm(NOLOCK)
5322 ON c.Name = @CharName AND cm.CID = c.CID
5323 IF @CLID IS NULL RETURN
5324
5325 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction, cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5326 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5327 ON cl.CLID = @CLID AND cl.MasterCID = c.CID
5328
5329
5330
5331
5332GO
5333/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByClanName] Script Date: 28-05-2018 18:12:28 ******/
5334SET ANSI_NULLS ON
5335GO
5336SET QUOTED_IDENTIFIER ON
5337GO
5338
5339CREATE PROC [dbo].[spAdmWebGetClanInfoByClanName]
5340 @ClanName varchar(24)
5341AS
5342 SET NOCOUNT ON
5343
5344 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction,
5345 cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5346 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5347 ON cl.Name = @ClanName AND cl.MasterCID = c.CID
5348
5349
5350
5351
5352GO
5353/****** Object: StoredProcedure [dbo].[spAdmWebGetClanMemberInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5354SET ANSI_NULLS ON
5355GO
5356SET QUOTED_IDENTIFIER ON
5357GO
5358
5359CREATE PROC [dbo].[spAdmWebGetClanMemberInfoByCLID]
5360 @CLID int
5361AS
5362 SET NOCOUNT ON
5363
5364 SELECT cm.CLID, cm.Grade, a.AID, a.UserID, c.Name, cm.CID, c.Level, cm.ContPoint, cm.RegDate
5365 FROM (ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
5366 ON cm.CLID = @CLID AND c.CID = cm.CID) JOIN Account a( NOLOCK)
5367 ON a.AID = c.AID
5368 WHERE c.DeleteFlag <> 1
5369Order by cm.Grade, cm.RegDate
5370
5371
5372
5373
5374
5375
5376GO
5377/****** Object: StoredProcedure [dbo].[spAdmWebGetClanRankInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5378SET ANSI_NULLS ON
5379GO
5380SET QUOTED_IDENTIFIER ON
5381GO
5382
5383CREATE PROC [dbo].[spAdmWebGetClanRankInfoByCLID]
5384 @CLID int
5385AS
5386 SELECT Exp, Point, TotalPoint, Wins, Losses, Ranking, LastDayRanking, LastMonthRanking, RankIncrease
5387 FROM Clan(NOLOCK)
5388 WHERE CLID = @CLID
5389
5390
5391
5392
5393GO
5394/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
5395SET ANSI_NULLS ON
5396GO
5397SET QUOTED_IDENTIFIER ON
5398GO
5399
5400CREATE PROC [dbo].[spAdmWebGetCustomIP]
5401 @RegDateFrom smalldatetime
5402, @RegDateTo smalldatetime
5403AS
5404 SET NOCOUNT ON
5405 DECLARE @TmpIP bigint
5406
5407 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5408
5409 SELECT TestDB.game.inet_ntoa(IPFrom) AS IPFrom, TestDB.game.inet_ntoa(IPTo) AS IPTo,
5410 CountryCode3, Comment, IsBlock, RegDate
5411 FROM CustomIP(NOLOCK)
5412 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo
5413
5414
5415
5416
5417
5418GO
5419/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIPByIP] Script Date: 28-05-2018 18:12:28 ******/
5420SET ANSI_NULLS ON
5421GO
5422SET QUOTED_IDENTIFIER ON
5423GO
5424
5425CREATE PROC [dbo].[spAdmWebGetCustomIPByIP]
5426 @IP varchar(15)
5427, @RegDateFrom smalldatetime
5428, @RegDateTo smalldatetime
5429AS
5430 SET NOCOUNT ON
5431 DECLARE @TmpIP bigint
5432
5433 SET @TmpIP = TestDB.game.inet_aton( @IP )
5434 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5435
5436 SELECT TestDB.game.inet_ntoa(IPFrom) AS IPFrom, TestDB.game.inet_ntoa(IPTo) AS IPTo,
5437 CountryCode3, Comment, IsBlock, RegDate
5438 FROM CustomIP(NOLOCK)
5439 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo AND
5440 IPFrom <= @TmpIP AND IPTo >= @TmpIP
5441
5442
5443
5444
5445
5446GO
5447/****** Object: StoredProcedure [dbo].[spAdmWebGetItemList] Script Date: 28-05-2018 18:12:28 ******/
5448SET ANSI_NULLS ON
5449GO
5450SET QUOTED_IDENTIFIER ON
5451GO
5452
5453CREATE PROC [dbo].[spAdmWebGetItemList]
5454AS
5455 SET NOCOUNT ON
5456 SELECT ItemID, Name, Slot, IsCashItem
5457 FROM Item(NOLOCK)
5458 ORDER BY ItemID
5459
5460
5461
5462
5463GO
5464/****** Object: StoredProcedure [dbo].[spAdmWebGetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
5465SET ANSI_NULLS ON
5466GO
5467SET QUOTED_IDENTIFIER ON
5468GO
5469
5470CREATE PROC [dbo].[spAdmWebGetItemPurchaseLogByCash]
5471 @AID int
5472AS
5473 SET NOCOUNT ON
5474 SELECT ipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID,
5475 i.Name AS ItemName, ipl.Date, ipl.Cash
5476 , CASE ISNULL(ipl.RentHourPeriod, 0)
5477 WHEN 0 THEN '0'
5478 ELSE CAST(ipl.RentHourPeriod AS varchar(10))
5479 END AS 'RentHourPeriod'
5480 FROM (Account a(NOLOCK) JOIN ItemPurchaseLogByCash ipl(NOLOCK)
5481 ON a.AID = @AID AND ipl.AID = a.AID) JOIN Item i(NOLOCK)
5482 ON i.ItemID = ipl.ItemID
5483 ORDER BY ipl.Date DESC
5484
5485
5486
5487
5488GO
5489/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
5490SET ANSI_NULLS ON
5491GO
5492SET QUOTED_IDENTIFIER ON
5493GO
5494
5495CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByAID]
5496 @AID int
5497AS
5498 SET NOCOUNT ON
5499
5500 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5501 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5502 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5503 ON a.AID = @AID AND c.AID = a.AID
5504 WHERE c.DeleteFlag <> 1
5505
5506
5507
5508
5509GO
5510/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5511SET ANSI_NULLS ON
5512GO
5513SET QUOTED_IDENTIFIER ON
5514GO
5515
5516CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByCharName]
5517 @CharName varchar( 24 )
5518AS
5519 SET NOCOUNT ON
5520
5521 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
5522 CharNum, Level, XP, BP, KillCount, DeathCount
5523 FROM Character(NOLOCK)
5524 WHERE Name = @CharName AND DeleteFlag <> 1
5525 ORDER BY CharNum
5526
5527
5528
5529
5530GO
5531/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
5532SET ANSI_NULLS ON
5533GO
5534SET QUOTED_IDENTIFIER ON
5535GO
5536
5537CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByOneCharName]
5538 @CharName varchar(24)
5539AS
5540 SET NOCOUNT ON
5541
5542 SELECT c2.Name, c2.CID
5543 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
5544 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
5545 ON c2.AID = a.AID
5546 WHERE c2.DeleteFlag <> 1
5547 ORDER BY c2.CharNum
5548
5549
5550
5551
5552GO
5553/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharListByUserID] Script Date: 28-05-2018 18:12:28 ******/
5554SET ANSI_NULLS ON
5555GO
5556SET QUOTED_IDENTIFIER ON
5557GO
5558
5559CREATE PROC [dbo].[spAdmWebGetLiveCharListByUserID]
5560 @UserID varchar( 20 )
5561AS
5562 SET NOCOUNT ON
5563
5564 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5565 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5566 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5567 ON a.UserID = @UserID AND c.AID = a.AID
5568 WHERE c.DeleteFlag <> 1
5569 ORDER BY c.CharNum
5570
5571
5572
5573
5574GO
5575/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
5576SET ANSI_NULLS ON
5577GO
5578SET QUOTED_IDENTIFIER ON
5579GO
5580
5581CREATE PROC [dbo].[spAdmWebGetLiveCharNameCIDByUserID]
5582 @UserID varchar(20)
5583AS
5584 SET NOCOUNT ON
5585
5586 SELECT c.Name, c.CID, c.DeleteFlag
5587 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5588 ON a.UserID = @UserID AND c.AID = a.AID
5589 WHERE c.DeleteFlag <> 1
5590 ORDER BY c.DeleteFlag, c.CharNum
5591
5592
5593
5594
5595GO
5596/****** Object: StoredProcedure [dbo].[spAdmWebGetQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
5597SET ANSI_NULLS ON
5598GO
5599SET QUOTED_IDENTIFIER ON
5600GO
5601
5602CREATE PROC [dbo].[spAdmWebGetQuestItemInfo]
5603 @CID int
5604AS
5605 SET NOCOUNT ON
5606 SELECT CID, Name, QuestItemInfo
5607 FROM Character(NOLOCK)
5608 WHERE CID = @CID
5609
5610
5611
5612
5613GO
5614/****** Object: StoredProcedure [dbo].[spAdmWebGetRentPeriodDayList] Script Date: 28-05-2018 18:12:28 ******/
5615SET ANSI_NULLS ON
5616GO
5617SET QUOTED_IDENTIFIER ON
5618GO
5619
5620
5621CREATE PROC [dbo].[spAdmWebGetRentPeriodDayList]
5622AS
5623 SET NOCOUNT ON
5624 SELECT Day FROM RentPeriodDay(NOLOCK) ORDER BY Day
5625
5626
5627
5628
5629GO
5630/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLog10Min] Script Date: 28-05-2018 18:12:28 ******/
5631SET ANSI_NULLS ON
5632GO
5633SET QUOTED_IDENTIFIER ON
5634GO
5635
5636
5637
5638
5639------------------------------------------------------------------------------------------------------------------------
5640
5641CREATE PROC [dbo].[spAdmWebGetServerLog10Min]
5642 @ServerID tinyint
5643, @StartTime smalldatetime
5644, @EndTime smalldatetime
5645AS
5646 SET NOCOUNT ON
5647
5648 IF @StartTime > @EndTime RETURN
5649
5650 SELECT a.ServerID, ss.ServerName,
5651 CONVERT(smalldatetime,DATEADD(mi,a.time*10 ,@StartTime)) as starttime,
5652 CONVERT(smalldatetime,DATEADD(mi,(a.time*10+10)-1 ,@StartTime)) as endtime,
5653 SUM(playercount)/10/(DATEDIFF(DAY,@StartTime, @EndTime)+ 1) as PlayerCount
5654 FROM(
5655 SELECT ServerID, ISNULL(playercount,0) as PlayerCount, DATEPART(mi,DATEADD(mi, -1, time)) /10 as time
5656 FROM LogDB.game.ServerLogStorage(NOLOCK)
5657 WHERE Time BETWEEN @StartTime AND @EndTime
5658 AND datediff(hh,@StartTime, DATEADD(mi, -1, time) ) % 24 = 0
5659 ) as a, ServerStatus ss(NOLOCK)
5660 WHERE a.ServerID = @ServerID AND ss.ServerID = a.ServerID
5661 Group By a.ServerID, ss.ServerName, a.Time
5662 Order By a.Time
5663
5664
5665
5666
5667
5668
5669GO
5670/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogDayHour] Script Date: 28-05-2018 18:12:28 ******/
5671SET ANSI_NULLS ON
5672GO
5673SET QUOTED_IDENTIFIER ON
5674GO
5675
5676
5677CREATE PROC [dbo].[spAdmWebGetServerLogDayHour]
5678 @ServerType tinyint -- 0:ì „ì²´, 1:ì¼ë°˜, 2:í´ëžœ, 3:퀘스트, 4:ì´ë²¤íЏ
5679, @StartDate smalldatetime
5680, @EndDate smalldatetime
5681AS
5682 SET NOCOUNT ON
5683
5684 IF @StartDate > @EndDate RETURN
5685
5686 DECLARE @StartServerID int
5687 DECLARE @EndServerID int
5688
5689 IF 0 = @ServerType -- all
5690 SELECT @StartServerID = 1, @EndServerID = 255
5691 ELSE IF 1 = @ServerType -- normal
5692 SELECT @StartServerID = 1, @EndServerID = 49
5693 ELSE IF 2 = @ServerType -- clan
5694 SELECT @StartServerID = 50, @EndServerID = 99
5695 ELSE IF 3 = @ServerType -- quest
5696 SELECT @STartServerID = 100, @EndServerID = 149
5697 ELSE IF 4 = @ServerType -- event
5698 RETURN
5699 ELSE -- error
5700 RETURN
5701
5702 SELECT ss.ServerID, ss.ServerName,
5703 SUM(CASE DATEPART(hh, t.Time) WHEN 0 THEN t.PlayerCount ELSE 0 END) AS H0
5704 , SUM(CASE DATEPART(hh, t.Time) WHEN 1 THEN t.PlayerCount ELSE 0 END) AS H1
5705 , SUM(CASE DATEPART(hh, t.Time) WHEN 2 THEN t.PlayerCount ELSE 0 END) AS H2
5706 , SUM(CASE DATEPART(hh, t.Time) WHEN 3 THEN t.PlayerCount ELSE 0 END) AS H3
5707 , SUM(CASE DATEPART(hh, t.Time) WHEN 4 THEN t.PlayerCount ELSE 0 END) AS H4
5708 , SUM(CASE DATEPART(hh, t.Time) WHEN 5 THEN t.PlayerCount ELSE 0 END) AS H5
5709 , SUM(CASE DATEPART(hh, t.Time) WHEN 6 THEN t.PlayerCount ELSE 0 END) AS H6
5710 , SUM(CASE DATEPART(hh, t.Time) WHEN 7 THEN t.PlayerCount ELSE 0 END) AS H7
5711 , SUM(CASE DATEPART(hh, t.Time) WHEN 8 THEN t.PlayerCount ELSE 0 END) AS H8
5712 , SUM(CASE DATEPART(hh, t.Time) WHEN 9 THEN t.PlayerCount ELSE 0 END) AS H9
5713 , SUM(CASE DATEPART(hh, t.Time) WHEN 10 THEN t.PlayerCount ELSE 0 END) AS H10
5714 , SUM(CASE DATEPART(hh, t.Time) WHEN 11 THEN t.PlayerCount ELSE 0 END) AS H11
5715 , SUM(CASE DATEPART(hh, t.Time) WHEN 12 THEN t.PlayerCount ELSE 0 END) AS H12
5716 , SUM(CASE DATEPART(hh, t.Time) WHEN 13 THEN t.PlayerCount ELSE 0 END) AS H13
5717 , SUM(CASE DATEPART(hh, t.Time) WHEN 14 THEN t.PlayerCount ELSE 0 END) AS H14
5718 , SUM(CASE DATEPART(hh, t.Time) WHEN 15 THEN t.PlayerCount ELSE 0 END) AS H15
5719 , SUM(CASE DATEPART(hh, t.Time) WHEN 16 THEN t.PlayerCount ELSE 0 END) AS H16
5720 , SUM(CASE DATEPART(hh, t.Time) WHEN 17 THEN t.PlayerCount ELSE 0 END) AS H17
5721 , SUM(CASE DATEPART(hh, t.Time) WHEN 18 THEN t.PlayerCount ELSE 0 END) AS H18
5722 , SUM(CASE DATEPART(hh, t.Time) WHEN 19 THEN t.PlayerCount ELSE 0 END) AS H19
5723 , SUM(CASE DATEPART(hh, t.Time) WHEN 20 THEN t.PlayerCount ELSE 0 END) AS H20
5724 , SUM(CASE DATEPART(hh, t.Time) WHEN 21 THEN t.PlayerCount ELSE 0 END) AS H21
5725 , SUM(CASE DATEPART(hh, t.Time) WHEN 22 THEN t.PlayerCount ELSE 0 END) AS H22
5726 , SUM(CASE DATEPART(hh, t.Time) WHEN 23 THEN t.PlayerCount ELSE 0 END) AS H23
5727 , SUM(t.PlayerCount) / 24 AS AVG
5728 FROM (
5729 SELECT ServerID
5730 , CASE(DATEPART(mi, Time) % 10)
5731 WHEN 0 THEN DATEADD(mi, -1, Time)
5732 ELSE DATEADD(mi, (DATEPART(mi, Time) % 10) * -1, Time) END
5733 AS Time
5734 , PlayerCount
5735 FROM LogDB.game.ServerLogStorage(NOLOCK)
5736 WHERE (Time BETWEEN @StartDate AND @EndDate)
5737 AND (ServerID BETWEEN @StartServerID AND @EndServerID)
5738 ) AS t, ServerStatus ss(NOLOCK)
5739 WHERE ss.ServerID = t.ServerID
5740 GROUP BY ss.ServerID, ss.ServerName
5741 ORDER BY ss.ServerID
5742
5743
5744
5745
5746
5747GO
5748/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntDay] Script Date: 28-05-2018 18:12:28 ******/
5749SET ANSI_NULLS ON
5750GO
5751SET QUOTED_IDENTIFIER ON
5752GO
5753
5754
5755
5756
5757-------------------------------------------------------------------------------------------------------------
5758
5759CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntDay]
5760 @ServerType tinyint
5761, @StartDate smalldatetime
5762, @EndDate smalldatetime
5763AS
5764 SET NOCOUNT ON
5765
5766 IF @StartDate > @EndDate RETURN
5767
5768 DECLARE @TmpStartDate smalldatetime
5769 DECLARE @TmpEndDate smalldatetime
5770 DECLARE @RangeStartDate smalldatetime
5771 DECLARE @RangeEndDate smalldatetime
5772 DECLARE @DayDiff int
5773 DECLARE @StartServerID tinyint
5774 DECLARE @EndServerID tinyint
5775 DECLARE @LiveServerCount tinyint
5776 DECLARE @Date smalldatetime
5777 DECLARE @Query varchar(8000)
5778
5779 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5780 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5781
5782 IF @StartDate < @TmpStartDate
5783 SET @StartDate = @TmpStartDate
5784 IF @EndDate > @TmpEndDate
5785 SET @EndDate = @TmpEndDate
5786
5787 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5788 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5789 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5790
5791 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5792 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5793 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5794 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5795 ELSE IF 4 = @ServerType RETURN-- event
5796 ELSE RETURN
5797
5798 SELECT @LiveServerCount = COUNT(ServerID)
5799 FROM ServerStatus(NOLOCK)
5800 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5801
5802 SET @Query = 'SELECT t.ServerID, t.ServerName, '
5803
5804 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5805 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5806 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5807
5808 WHILE @Date <= @RangeEndDate BEGIN
5809 SET @Query = @Query + 'MAX(CASE t.Day WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5810 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day'
5811 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5812
5813 SET @Date = DATEADD(dd, 1, @Date)
5814 IF @Date > @RangeEndDate BREAK
5815 SET @Query = @Query + ', '
5816 END
5817
5818 SET @Query = @Query + ', SUM(MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5819 FROM
5820 (
5821 SELECT sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time)) AS Day, MAX(PlayerCount) AS MaxPlayerCount
5822 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5823 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
5824 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
5825 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
5826 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + '''' + '
5827 AND ss.ServerID = sls.ServerID
5828 GROUP BY sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time))
5829 ) as t
5830 GROUP BY t.ServerID, t.ServerName
5831 ORDER BY t.ServerID'
5832
5833 EXEC (@Query)
5834
5835
5836
5837
5838
5839
5840GO
5841/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntHour] Script Date: 28-05-2018 18:12:28 ******/
5842SET ANSI_NULLS ON
5843GO
5844SET QUOTED_IDENTIFIER ON
5845GO
5846
5847
5848
5849----------------------------------------------------------------------------------------------------------------------------
5850
5851CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntHour]
5852 @ServerType tinyint
5853, @StartDate smalldatetime
5854, @EndDate smalldatetime
5855AS
5856 SET NOCOUNT ON
5857
5858 IF @StartDate > @EndDate RETURN
5859
5860 DECLARE @StartServerID tinyint
5861 DECLARE @EndServerID tinyint
5862
5863 IF 0 = @ServerType -- all
5864 SELECT @StartServerID = 1, @EndServerID = 255
5865 ELSE IF 1 = @ServerType -- normal
5866 SELECT @StartServerID = 1, @EndServerID = 49
5867 ELSE IF 2 = @ServerType -- clan
5868 SELECT @StartServerID = 50, @EndServerID = 99
5869 ELSE IF 3 = @ServerType -- quest
5870 SELECT @STartServerID = 100, @EndServerID = 149
5871 ELSE IF 4 = @ServerType -- event
5872 RETURN
5873 ELSE
5874 RETURN
5875
5876SELECT t.ServerID, t.ServerName
5877 , MAX(CASE t.Time WHEN 0 THEN t.MaxPlayerCount ELSE 0 END) AS H0
5878 , MAX(CASE t.Time WHEN 1 THEN t.MaxPlayerCount ELSE 0 END) AS H1
5879 , MAX(CASE t.Time WHEN 2 THEN t.MaxPlayerCount ELSE 0 END) AS H2
5880 , MAX(CASE t.Time WHEN 3 THEN t.MaxPlayerCount ELSE 0 END) AS H3
5881 , MAX(CASE t.Time WHEN 4 THEN t.MaxPlayerCount ELSE 0 END) AS H4
5882 , MAX(CASE t.Time WHEN 5 THEN t.MaxPlayerCount ELSE 0 END) AS H5
5883 , MAX(CASE t.Time WHEN 6 THEN t.MaxPlayerCount ELSE 0 END) AS H6
5884 , MAX(CASE t.Time WHEN 7 THEN t.MaxPlayerCount ELSE 0 END) AS H7
5885 , MAX(CASE t.Time WHEN 8 THEN t.MaxPlayerCount ELSE 0 END) AS H8
5886 , MAX(CASE t.Time WHEN 9 THEN t.MaxPlayerCount ELSE 0 END) AS H9
5887 , MAX(CASE t.Time WHEN 10 THEN t.MaxPlayerCount ELSE 0 END) AS H10
5888 , MAX(CASE t.Time WHEN 11 THEN t.MaxPlayerCount ELSE 0 END) AS H11
5889 , MAX(CASE t.Time WHEN 12 THEN t.MaxPlayerCount ELSE 0 END) AS H12
5890 , MAX(CASE t.Time WHEN 13 THEN t.MaxPlayerCount ELSE 0 END) AS H13
5891 , MAX(CASE t.Time WHEN 14 THEN t.MaxPlayerCount ELSE 0 END) AS H14
5892 , MAX(CASE t.Time WHEN 15 THEN t.MaxPlayerCount ELSE 0 END) AS H15
5893 , MAX(CASE t.Time WHEN 16 THEN t.MaxPlayerCount ELSE 0 END) AS H16
5894 , MAX(CASE t.Time WHEN 17 THEN t.MaxPlayerCount ELSE 0 END) AS H17
5895 , MAX(CASE t.Time WHEN 18 THEN t.MaxPlayerCount ELSE 0 END) AS H18
5896 , MAX(CASE t.Time WHEN 19 THEN t.MaxPlayerCount ELSE 0 END) AS H19
5897 , MAX(CASE t.Time WHEN 20 THEN t.MaxPlayerCount ELSE 0 END) AS H20
5898 , MAX(CASE t.Time WHEN 21 THEN t.MaxPlayerCount ELSE 0 END) AS H21
5899 , MAX(CASE t.Time WHEN 22 THEN t.MaxPlayerCount ELSE 0 END) AS H22
5900 , MAX(CASE t.Time WHEN 23 THEN t.MaxPlayerCount ELSE 0 END) AS H23
5901 , SUM(t.MaxPlayerCount) / 24 AS 'AVG'
5902 FROM (
5903 SELECT sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time)) AS Time, MAX(PlayerCount) as MaxPlayerCount
5904 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5905 WHERE (sls.Time BETWEEN @StartDate AND @EndDate)
5906 AND (sls.ServerID BETWEEN @StartServerID AND @EndServerID)
5907 AND ss.ServerID = sls.ServerID
5908 GROUP BY sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time))
5909 ) AS t
5910 GROUP BY t.ServerID, t.ServerName
5911 ORDER BY t.ServerID
5912
5913
5914
5915
5916
5917GO
5918/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxTimeDay] Script Date: 28-05-2018 18:12:28 ******/
5919SET ANSI_NULLS ON
5920GO
5921SET QUOTED_IDENTIFIER ON
5922GO
5923
5924
5925-------------------------------------------------------------------------------------------------------------
5926
5927CREATE PROC [dbo].[spAdmWebGetServerLogMaxTimeDay]
5928 @ServerType tinyint
5929, @StartDate smalldatetime
5930, @EndDate smalldatetime
5931AS
5932 SET NOCOUNT ON
5933
5934 IF @StartDate > @EndDate RETURN
5935
5936 DECLARE @TmpStartDate smalldatetime
5937 DECLARE @TmpEndDate smalldatetime
5938 DECLARE @RangeStartDate smalldatetime
5939 DECLARE @RangeEndDate smalldatetime
5940 DECLARE @DayDiff int
5941 DECLARE @StartServerID tinyint
5942 DECLARE @EndServerID tinyint
5943 DECLARE @LiveServerCount tinyint
5944 DECLARE @Date smalldatetime
5945 DECLARE @Query varchar(8000)
5946
5947 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5948 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5949
5950 IF @StartDate < @TmpStartDate
5951 SET @StartDate = @TmpStartDate
5952 IF @EndDate > @TmpEndDate
5953 SET @EndDate = @TmpEndDate
5954
5955 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5956 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5957 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5958
5959 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5960 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5961 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5962 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5963 ELSE IF 4 = @ServerType RETURN-- event
5964 ELSE RETURN
5965
5966SELECT @LiveServerCount = COUNT(ServerID)
5967 FROM ServerStatus(NOLOCK)
5968 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5969
5970 SET @Query = 'SELECT
5971 t.TimeGroup AS TimeGroup, '
5972
5973 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5974 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5975 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5976
5977 WHILE @Date <= @RangeEndDate BEGIN
5978 SET @Query = @Query + 'MAX(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5979 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
5980 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5981
5982 SET @Date = DATEADD(dd, 1, @Date)
5983 IF @Date > @RangeEndDate BREAK
5984 SET @Query = @Query + ', '
5985 END
5986
5987 SET @Query = @Query + ', SUM(t.MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5988 FROM
5989 (
5990SELECT tt.Date, tt.TimeGroup, SUM(tt.MaxPlayerCount) as MaxPlayerCount
5991 FROM
5992 (
5993 SELECT ServerID, DATEPART(dd, DATEADD(mi, -1, Time)) as Date
5994 ,DATEPART(hh, DATEADD(mi, -1, Time)) AS TimeGroup,
5995 MAX(PlayerCount) AS MaxPlayerCount
5996 FROM LogDB.game.ServerLogStorage(NOLOCK)
5997 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
5998 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
5999 varchar(8)) + '
6000 GROUP BY ServerID, DATEPART(dd, DATEADD(mi, -1,Time))
6001 , DATEPART(hh, DATEADD(mi, -1, Time))
6002 ) AS tt
6003GROUP BY tt.Date, tt.TimeGroup
6004) AS t
6005 GROUP BY t.TimeGroup
6006 ORDER BY CAST(t.TimeGroup AS float)'
6007
6008 EXEC(@Query)
6009
6010
6011
6012
6013
6014GO
6015/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogServerIDDay] Script Date: 28-05-2018 18:12:28 ******/
6016SET ANSI_NULLS ON
6017GO
6018SET QUOTED_IDENTIFIER ON
6019GO
6020
6021
6022
6023
6024----------------------------------------------------------------------------------------------------------------------
6025
6026CREATE PROC [dbo].[spAdmWebGetServerLogServerIDDay]
6027 @ServerType tinyint
6028, @StartDate smalldatetime
6029, @EndDate smalldatetime
6030AS
6031 SET NOCOUNT ON
6032
6033 IF @StartDate > @EndDate RETURN
6034
6035 DECLARE @TmpStartDate smalldatetime
6036 DECLARE @TmpEndDate smalldatetime
6037 DECLARE @RangeStartDate smalldatetime
6038 DECLARE @RangeEndDate smalldatetime
6039 DECLARE @DayDiff int
6040 DECLARE @StartServerID tinyint
6041 DECLARE @EndServerID tinyint
6042 DECLARE @LiveServerCount tinyint
6043 DECLARE @Date smalldatetime
6044 DECLARE @Query varchar(8000)
6045
6046 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6047 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6048
6049 IF @StartDate < @TmpStartDate
6050 SET @StartDate = @TmpStartDate
6051 IF @EndDate > @TmpEndDate
6052 SET @EndDate = @TmpEndDate
6053
6054 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6055 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6056 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6057
6058 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6059 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6060 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6061 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6062 ELSE IF 4 = @ServerType RETURN-- event
6063 ELSE RETURN
6064
6065 SELECT @LiveServerCount = COUNT(ServerID)
6066 FROM ServerStatus(NOLOCK)
6067 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6068
6069 SET @Query = 'SELECT sls.ServerID, ss.ServerName, '
6070
6071 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6072 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6073 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6074
6075 WHILE @Date <= @RangeEndDate BEGIN
6076 SET @Query = @Query + '(SUM(CASE DATEPART(dd, DATEADD(mi, -1, sls.Time)) WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6077 + ' THEN sls.PlayerCount ELSE 0 END) / 1440) AS ' + '''' + 'Day'
6078 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6079
6080 SET @Date = DATEADD(dd, 1, @Date)
6081 IF @Date > @RangeEndDate BREAK
6082 SET @Query = @Query + ', '
6083 END
6084
6085 SET @Query = @Query + ', SUM(sls.PlayerCount) / ' + CAST((@DayDiff * 1440) AS varchar(8)) + ' AS AVG
6086 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
6087 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
6088 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
6089 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
6090 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + ''''
6091 + ' AND ss.ServerID = sls.ServerID
6092 GROUP BY sls.ServerID, ss.ServerName
6093 ORDER BY sls.ServerID'
6094
6095 EXEC (@Query)
6096
6097
6098
6099
6100
6101
6102GO
6103/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogTimeDay] Script Date: 28-05-2018 18:12:28 ******/
6104SET ANSI_NULLS ON
6105GO
6106SET QUOTED_IDENTIFIER ON
6107GO
6108
6109CREATE PROC [dbo].[spAdmWebGetServerLogTimeDay]
6110 @ServerType tinyint
6111, @StartDate smalldatetime
6112, @EndDate smalldatetime
6113AS
6114 SET NOCOUNT ON
6115
6116 IF @StartDate > @EndDate RETURN
6117
6118 DECLARE @TmpStartDate smalldatetime
6119 DECLARE @TmpEndDate smalldatetime
6120 DECLARE @RangeStartDate smalldatetime
6121 DECLARE @RangeEndDate smalldatetime
6122 DECLARE @DayDiff int
6123 DECLARE @StartServerID tinyint
6124 DECLARE @EndServerID tinyint
6125 DECLARE @LiveServerCount tinyint
6126 DECLARE @Date smalldatetime
6127 DECLARE @Query varchar(8000)
6128
6129 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6130 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6131
6132 IF @StartDate < @TmpStartDate
6133 SET @StartDate = @TmpStartDate
6134 IF @EndDate > @TmpEndDate
6135 SET @EndDate = @TmpEndDate
6136
6137 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6138 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6139 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6140
6141 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6142 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6143 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6144 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6145 ELSE IF 4 = @ServerType RETURN-- event
6146 ELSE RETURN
6147
6148
6149 SELECT @LiveServerCount = COUNT(ServerID)
6150 FROM ServerStatus(NOLOCK)
6151 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6152
6153 SET @Query = 'SELECT t.TimeGroup, '
6154
6155 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6156 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6157 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6158
6159 WHILE @Date <= @RangeEndDate BEGIN
6160 SET @Query = @Query + 'SUM(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6161 + ' THEN t.PlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
6162 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6163
6164 SET @Date = DATEADD(dd, 1, @Date)
6165 IF @Date > @RangeEndDate BREAK
6166 SET @Query = @Query + ', '
6167 END
6168
6169 SET @Query = @Query + ', SUM(t.PlayerCount) / ' + CAST((@DayDiff ) AS varchar(8)) + ' AS AVG FROM
6170 (
6171 SELECT tt.Date, tt.TimeGroup as TimeGroup,SUM(tt.PlayerCount ) as PlayerCount
6172 FROM
6173 (
6174 SELECT SUM(PlayerCount ) /60 as PlayerCount, ServerID
6175 ,DATEPART(dd, Time) as Date
6176 ,DATEPART(hh, DATEADD(mi, -1, Time)) as TimeGroup
6177 FROM LogDB.game.ServerLogStorage(NOLOCK)
6178 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
6179 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
6180 varchar(8)) + '
6181 GROUP BY DATEPART(dd, Time), DATEPART(hh, DATEADD(mi, -1, Time)), ServerID
6182
6183 ) as tt
6184 GROUP BY tt.Date, tt.TimeGroup
6185 ) AS t
6186 GROUP BY t.TimeGroup
6187 ORDER BY t.TimeGroup'
6188
6189 EXEC (@Query)
6190
6191
6192
6193
6194GO
6195/****** Object: StoredProcedure [dbo].[spAdmWebGetSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
6196SET ANSI_NULLS ON
6197GO
6198SET QUOTED_IDENTIFIER ON
6199GO
6200
6201CREATE PROC [dbo].[spAdmWebGetSetItemPurchaseLogByCash]
6202 @AID int
6203AS
6204 SET NOCOUNT ON
6205 SELECT sipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID
6206 , css.Name AS ItemName, sipl.Date, sipl.Cash
6207 , CASE ISNULL(sipl.RentHourPeriod, 0)
6208 WHEN 0 THEN '0'
6209 ELSE CAST(sipl.RentHourPeriod AS varchar(10))
6210 END AS 'RentHourPeriod'
6211 FROM (Account a(NOLOCK) JOIN SetItemPurchaseLogByCash sipl(NOLOCK)
6212 ON a.AID = @AID AND sipl.AID = a.AID) JOIN CashSetShop css(NOLOCK)
6213 ON css.CSSID = sipl.CSSID
6214 ORDER BY Date DESC
6215
6216
6217
6218
6219GO
6220/****** Object: StoredProcedure [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
6221SET ANSI_NULLS ON
6222GO
6223SET QUOTED_IDENTIFIER ON
6224GO
6225
6226CREATE PROC [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName]
6227 @CharName varchar( 24 )
6228AS
6229 SET NOCOUNT ON
6230
6231 DECLARE @AID int
6232
6233 SELECT @AID = a.AID
6234 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
6235 ON c.Name = @CharName AND a.AID = c.AID
6236
6237 IF @AID IS NULL RETURN
6238
6239 SELECT Name, CID FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6240 ORDER BY CharNum
6241
6242
6243
6244
6245GO
6246/****** Object: StoredProcedure [dbo].[spAdmWebGetUniqueQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
6247SET ANSI_NULLS ON
6248GO
6249SET QUOTED_IDENTIFIER ON
6250GO
6251
6252CREATE PROC [dbo].[spAdmWebGetUniqueQuestItemInfo]
6253 @CID int
6254AS
6255 SET NOCOUNT ON
6256
6257 SELECT qi.Name, qgl.StartTime, qgl.EndTime
6258 FROM QuestGameLog qgl(NOLOCK), QUniqueItemLog qul(NOLOCK), QuestItem qi(NOLOCK)
6259 WHERE qgl.ID = qul.QGLID AND qul.QIID = qi.QIID AND qul.CID = @CID
6260 ORDER BY qgl.StartTime DESC
6261
6262
6263
6264
6265GO
6266/****** Object: StoredProcedure [dbo].[spAdmWebGetUV] Script Date: 28-05-2018 18:12:28 ******/
6267SET ANSI_NULLS ON
6268GO
6269SET QUOTED_IDENTIFIER ON
6270GO
6271
6272CREATE PROC [dbo].[spAdmWebGetUV]
6273 @StartDate smalldatetime
6274, @EndDate smalldatetime
6275AS
6276 SET NOCOUNT ON
6277
6278 IF @StartDate > @EndDate RETURN
6279 IF 3 < DATEDIFF(dd, @StartDate, @EndDate) RETURN
6280
6281 SELECT t.Time, COUNT(t.AID) as UCount
6282 FROM
6283 (
6284 SELECT AID, CONVERT(char(10),Time,120) as Time
6285 FROM LogDB.game.ConnLog(NOLOCK)
6286 WHERE time >= @StartDate and time <= @EndDate
6287 GROUP BY AID, CONVERT(char(10),Time,120)
6288 ) as t
6289 GROUP BY t.Time
6290 ORDER BY t.Time
6291
6292
6293
6294
6295GO
6296/****** Object: StoredProcedure [dbo].[spAdmWebInsertAccountItem] Script Date: 28-05-2018 18:12:28 ******/
6297SET ANSI_NULLS ON
6298GO
6299SET QUOTED_IDENTIFIER ON
6300GO
6301
6302CREATE PROC [dbo].[spAdmWebInsertAccountItem]
6303 @AID int
6304, @ItemID int
6305, @Period int
6306, @GMID varchar(20)
6307, @Ret int OUTPUT
6308AS
6309 SET NOCOUNT ON
6310 IF (500001 > @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6311 SET @Ret = 0
6312 RETURN @Ret
6313 END
6314
6315 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6316 SET @Ret = 0
6317 RETURN @Ret
6318 END
6319
6320 DECLARE @RentHourPeriod int
6321 DECLARE @RentDate datetime
6322
6323 IF (0 = @Period) OR (@Period IS NULL)
6324 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6325 ELSE
6326 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6327
6328 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod)
6329 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod )
6330 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6331 SET @Ret = 0
6332 RETURN @Ret
6333 END
6334
6335 SET @Ret = 1
6336 RETURN @Ret
6337
6338
6339
6340
6341GO
6342/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6343SET ANSI_NULLS ON
6344GO
6345SET QUOTED_IDENTIFIER ON
6346GO
6347
6348CREATE PROC [dbo].[spAdmWebInsertCashSetShopItem]
6349 @Name varchar(64)
6350, @ResSex tinyint
6351, @ResLevel int
6352, @Weight int
6353, @Description varchar(1024)
6354, @Opened tinyint
6355, @CashPrice int
6356, @WebImgName varchar(64)
6357, @RentType tinyint
6358, @Ret int OUTPUT
6359AS
6360 SET NOCOUNT ON
6361 IF (@Name IS NULL) OR (@ResSex IS NULL) OR (@ResLevel IS NULL)
6362 OR (@Weight IS NULL) OR (@Description IS NULL) OR (@Opened IS NULL)
6363 OR (@CashPrice IS NULL) OR (@WebImgName IS NULL) BEGIN
6364 SET @Ret = 0
6365 RETURN @Ret
6366 END
6367
6368 declare @cssid int
6369 select @cssid = max(cssid) + 1 from CashSetShop(nolock)
6370
6371 INSERT INTO CashSetShop(cssid, Name, ResSex, ResLevel, Weight, Description, Opened,
6372 CashPrice, WebImgName, RentType, RegDate)
6373 VALUES (@cssid, @Name, @ResSex, @ResLevel, @Weight, @Description, @Opened,
6374 @CashPrice, @WebImgName, @RentType, GETDATE())
6375 IF 0 <> @@ERROR BEGIN
6376 SET @Ret = 0
6377 RETURN @Ret
6378 END
6379
6380 SET @Ret = @cssid
6381 RETURN @Ret
6382
6383
6384
6385
6386
6387GO
6388/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6389SET ANSI_NULLS ON
6390GO
6391SET QUOTED_IDENTIFIER ON
6392GO
6393
6394CREATE PROC [dbo].[spAdmWebInsertCashShopItem]
6395 @ItemID int
6396, @Opened tinyint
6397, @CashPrice int
6398, @WebImgName varchar(64)
6399, @RentType tinyint
6400, @Ret int OUTPUT
6401AS
6402 SET NOCOUNT ON
6403 IF (@ItemID IS NULL) OR (500000 > @ItemID) OR (@Opened IS NULL)
6404 OR (@CashPrice IS NULL) BEGIN
6405 SET @Ret = 0
6406 RETURN @Ret
6407 END
6408
6409 declare @csid int
6410
6411 select @csid = max(csid) + 1 from CashShop(nolock)
6412
6413 INSERT INTO CashShop(csid, ItemID, Opened, CashPrice, WebImgName, RegDate, RentType )
6414 VALUES (@csid, @ItemID, @Opened, @CashPrice, @WebImgName, GETDATE(), @RentType)
6415 IF 0 <> @@ERROR BEGIN
6416 SET @Ret = 0
6417 RETURN @Ret
6418 END
6419
6420 SET @Ret = @csid
6421 RETURN @Ret
6422
6423
6424
6425
6426
6427GO
6428/****** Object: StoredProcedure [dbo].[spAdmWebInsertCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
6429SET ANSI_NULLS ON
6430GO
6431SET QUOTED_IDENTIFIER ON
6432GO
6433
6434CREATE PROC [dbo].[spAdmWebInsertCharacterItem]
6435 @CID int
6436, @ItemID int
6437, @Period smallint
6438, @GMID varchar(20)
6439, @Ret int OUTPUT
6440AS
6441 SET NOCOUNT ON
6442 IF (500000 < @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6443 SET @Ret = 0
6444 RETURN @Ret
6445 END
6446
6447 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
6448 SET @Ret = 0
6449 RETURN @Ret
6450 END
6451
6452 DECLARE @RentHourPeriod smallint
6453 DECLARE @RentDate datetime
6454
6455 IF (0 = @Period) OR (@Period IS NULL)
6456 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6457 ELSE
6458 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6459
6460 INSERT INTO CharacterItem( CID, ItemID, RegDate, RentDate, RentHourPeriod )
6461 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod )
6462 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6463 SET @Ret = 0
6464 RETURN @Ret
6465 END
6466
6467 SET @Ret = 1
6468 RETURN @Ret
6469
6470
6471
6472
6473GO
6474/****** Object: StoredProcedure [dbo].[spAdmWebInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
6475SET ANSI_NULLS ON
6476GO
6477SET QUOTED_IDENTIFIER ON
6478GO
6479
6480/*
6481 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
6482 */
6483CREATE PROC [dbo].[spAdmWebInsertCustomIP]
6484 @IPFrom varchar(15)
6485, @IPTo varchar(15)
6486, @IsBlock tinyint
6487, @CountryCode3 char(3)
6488, @Comment varchar(128)
6489, @Ret int OUTPUT
6490AS
6491 SET NOCOUNT ON
6492 DECLARE @DupRet int
6493 DECLARE @TmpIPFrom BIGINT
6494 DECLARE @TmpIPTo BIGINT
6495
6496 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
6497 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
6498 IF @TmpIPFrom > @TmpIPTo BEGIN
6499 SET @Ret = 3
6500 RETURN @Ret
6501 END
6502
6503 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
6504 IF 1 = @DupRet BEGIN
6505 SET @Ret = 2
6506 RETURN @Ret
6507 END
6508
6509 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
6510 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
6511 IF 0 <> @@ERROR SET @Ret = 0
6512 ELSE SET @Ret = 1
6513 RETURN @Ret
6514
6515
6516
6517
6518
6519GO
6520/****** Object: StoredProcedure [dbo].[spAdmWebInsertOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
6521SET ANSI_NULLS ON
6522GO
6523SET QUOTED_IDENTIFIER ON
6524GO
6525
6526CREATE PROC [dbo].[spAdmWebInsertOneCashSetItem]
6527 @CSSID int
6528, @CSID int
6529, @Ret int OUTPUT
6530AS
6531 SET NOCOUNT ON
6532 IF (@CSSID IS NULL) OR (@CSID IS NULL) BEGIN
6533 SET @Ret = 0
6534 RETURN @Ret
6535 END
6536
6537 INSERT INTO CashSetItem(CSSID, CSID) VALUES (@CSSID, @CSID)
6538 IF 0 <> @@ERROR BEGIN
6539 SET @Ret = 0
6540 RETURN @Ret
6541 END
6542
6543 SET @Ret = 1
6544 RETURN @Ret
6545
6546
6547
6548
6549GO
6550/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6551SET ANSI_NULLS ON
6552GO
6553SET QUOTED_IDENTIFIER ON
6554GO
6555
6556CREATE PROC [dbo].[spAdmWebInsertRentCashSetShopPrice]
6557 @CSSID int
6558, @RentHourPeriod int
6559, @CashPrice int
6560, @Ret int OUTPUT
6561AS
6562 SET NOCOUNT ON
6563 IF (@CSSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6564 SET @Ret = 0
6565 RETURN @Ret
6566 END
6567
6568 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6569
6570 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
6571 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
6572 IF 0 <> @@ERROR BEGIN
6573 SET @Ret = 0
6574 RETURN @Ret
6575 END
6576
6577 SET @Ret = 1
6578 RETURN @Ret
6579
6580
6581
6582
6583GO
6584/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6585SET ANSI_NULLS ON
6586GO
6587SET QUOTED_IDENTIFIER ON
6588GO
6589
6590CREATE PROC [dbo].[spAdmWebInsertRentCashShopPrice]
6591 @CSID int
6592, @RentHourPeriod int
6593, @CashPrice int
6594, @Ret int OUTPUT
6595AS
6596 SET NOCOUNT ON
6597
6598 IF (@CSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6599 SET @Ret = 0
6600 RETURN @Ret
6601 END
6602
6603 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6604
6605 INSERT INTO RentCashShopPrice(CSID, RentHourPeriod, CashPrice)
6606 VALUES (@CSID, @RentHourPeriod, @CashPrice)
6607 IF 0 <> @@ERROR BEGIN
6608 SET @Ret = 0
6609 RETURN @Ret
6610 END
6611 SET @Ret = 1
6612 RETURN @Ret
6613
6614
6615
6616
6617GO
6618/****** Object: StoredProcedure [dbo].[spAdmWebInsertSetItem] Script Date: 28-05-2018 18:12:28 ******/
6619SET ANSI_NULLS ON
6620GO
6621SET QUOTED_IDENTIFIER ON
6622GO
6623
6624CREATE PROC [dbo].[spAdmWebInsertSetItem]
6625 @UserID varchar( 20 )
6626, @CSSID int
6627, @RentHourPeriod smallint
6628, @GMID varchar(20)
6629, @Ret int OUTPUT
6630AS
6631 SET NOCOUNT ON
6632
6633 DECLARE @AID int
6634
6635 SELECT @AID = AID FROM Account WHERE UserID = @UserID
6636
6637 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
6638 IF @AID IS NULL
6639 BEGIN
6640 SET @Ret = 0
6641 RETURN @Ret
6642 END
6643 ELSE
6644 BEGIN
6645 DECLARE @RentDate datetime
6646
6647 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
6648 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
6649 BEGIN
6650 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
6651 DECLARE @RentType TINYINT
6652 DECLARE @RCSSPID INT
6653
6654 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
6655 IF @RentType = 1
6656 BEGIN
6657 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
6658 IF @RCSSPID IS NULL
6659 BEGIN
6660 SET @Ret = 0
6661 RETURN @Ret
6662 END
6663 END
6664
6665 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
6666 SET @RentDate = NULL
6667 END
6668 ELSE
6669 BEGIN
6670 SET @RentDate = GETDATE()
6671 END
6672
6673 BEGIN TRAN
6674
6675 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
6676
6677 FOR
6678 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
6679 FOR READ ONLY
6680
6681 OPEN curBuyCashSetItem
6682
6683 DECLARE @varCSID int
6684 DECLARE @ItemID int
6685
6686 FETCH FROM curBuyCashSetItem INTO @varCSID
6687
6688 WHILE @@FETCH_STATUS = 0
6689 BEGIN
6690 SELECT @ItemID = cs.ItemID
6691 FROM CashShop cs (NOLOCK)
6692 WHERE cs.CSID = @varCSID
6693
6694 IF @ItemID IS NOT NULL
6695 BEGIN
6696 -- ì•„ì´í…œ ìƒì„±.
6697 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
6698 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
6699 END
6700
6701 FETCH curBuyCashSetItem INTO @varCSID
6702 END
6703
6704 CLOSE curBuyCashSetItem
6705 DEALLOCATE curBuyCashSetItem
6706
6707 -- GM로그 기ë¡.
6708
6709 COMMIT TRAN
6710 SET @Ret = 1
6711 RETURN @Ret
6712 END
6713
6714
6715
6716
6717
6718GO
6719/****** Object: StoredProcedure [dbo].[spAdmWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
6720SET ANSI_NULLS ON
6721GO
6722SET QUOTED_IDENTIFIER ON
6723GO
6724
6725CREATE PROC [dbo].[spAdmWebItemUseLog]
6726 @UserID VARCHAR(32)
6727AS
6728BEGIN
6729 SET NOCOUNT ON
6730 DECLARE @TargetAID INT
6731 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
6732
6733 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
6734 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
6735 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
6736 ORDER BY Date DESC
6737END
6738
6739
6740
6741
6742
6743GO
6744/****** Object: StoredProcedure [dbo].[spAdmWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
6745SET ANSI_NULLS ON
6746GO
6747SET QUOTED_IDENTIFIER ON
6748GO
6749
6750CREATE PROC [dbo].[spAdmWebLeaveClanByCID]
6751 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
6752, @GMID varchar(20)
6753, @Ret int OUTPUT
6754AS
6755 IF (@CID IS NULL) OR (@GMID IS NULL) BEGIN
6756 SET @Ret = 0
6757 RETURN @Ret
6758 END
6759
6760 DECLARE @CLID int
6761 DECLARE @MasterCID int
6762
6763 -- 존재하는 ì•„ì´ë””ì¸ê°€?
6764 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
6765 FROM Clan cl(NOLOCK), ClanMember cm(NOLOCK)
6766 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
6767
6768 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
6769 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL) BEGIN
6770 SET @Ret = 0
6771 RETURN @Ret
6772 END
6773
6774 DELETE ClanMember WHERE CID = @CID
6775 IF 0 <> @@ERROR
6776 BEGIN
6777 SET @Ret = 0
6778 RETURN @Ret
6779 END
6780
6781 SET @Ret = 1
6782 RETURN @Ret
6783
6784
6785
6786
6787GO
6788/****** Object: StoredProcedure [dbo].[spAdmWebUndeleteCharacter] Script Date: 28-05-2018 18:12:28 ******/
6789SET ANSI_NULLS ON
6790GO
6791SET QUOTED_IDENTIFIER ON
6792GO
6793
6794CREATE PROC [dbo].[spAdmWebUndeleteCharacter]
6795 @AID int
6796, @CID int
6797, @GMID varchar(20)
6798, @Ret int OUTPUT
6799AS
6800 SET NOCOUNT ON
6801
6802 IF EXISTS (SELECT LiveChar.CID FROM Character DelChar(NOLOCK) JOIN Character LiveChar(NOLOCK)
6803 ON DelChar.CID = @CID AND DelChar.DeleteFlag = 1 AND LiveChar.Name = DelChar.DeleteName
6804 WHERE LiveChar.DeleteFlag <> 1) BEGIN
6805 SET @Ret = 0
6806 RETURN @Ret
6807 END
6808
6809 DECLARE @CharCount int
6810
6811 SELECT @CharCount = COUNT(CID) FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6812 IF 4 > @CharCount BEGIN
6813 DECLARE @FreeNum int
6814 DECLARE @tb table( a int )
6815
6816 INSERT @tb VALUES( 0 )
6817 INSERT @tb VALUES( 1 )
6818 INSERT @tb VALUES( 2 )
6819 INSERT @tb VALUES( 3 )
6820
6821 SELECT TOP 1 @FreeNum = t.a
6822 FROM @tb t LEFT OUTER JOIN Character c(NOLOCK)
6823 ON c.AID = @AID AND c.DeleteFlag <> 1 AND c.CharNum = t.a
6824 WHERE c.CharNum IS NULL
6825
6826 IF @FreeNum IS NULL BEGIN
6827 SET @Ret = 0
6828 RETURN @Ret
6829 END
6830
6831 BEGIN TRAN
6832 UPDATE Character
6833 SET Name = DeleteName, CharNum = @FreeNum, DeleteFlag = 0, DeleteName = ''
6834 WHERE CID = @CID AND AID = @AID AND DeleteFlag = 1
6835 IF 0 = @@ROWCOUNT BEGIN
6836 ROLLBACK TRAN
6837 SET @Ret = 0
6838 RETURN @Ret
6839 END
6840 COMMIT TRAN
6841 SET @Ret = 1
6842 RETURN @Ret
6843 END
6844
6845
6846
6847
6848GO
6849/****** Object: StoredProcedure [dbo].[spAdmWebUpdateAccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
6850SET ANSI_NULLS ON
6851GO
6852SET QUOTED_IDENTIFIER ON
6853GO
6854
6855CREATE PROC [dbo].[spAdmWebUpdateAccountPenaltyPeriod]
6856 @AID int
6857, @UGradeID int
6858, @Period int
6859, @GMID varchar(20)
6860, @Ret int OUTPUT
6861AS
6862 SET NOCOUNT ON
6863
6864 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6865 SET @Ret = 0
6866 RETURN @Ret
6867 END
6868
6869 IF (0 > @Period) OR (@Period IS NULL) OR (0 > @UGradeID) OR (@UGradeID IS NULL) BEGIN
6870 SET @Ret = 0
6871 RETURN @Ret
6872 END
6873
6874 BEGIN TRAN
6875 UPDATE Account SET UGradeID = @UGradeID WHERE AID = @AID
6876 IF 0 = @@ROWCOUNT BEGIN
6877 ROLLBACK TRAN
6878 SET @Ret = 0
6879 RETURN @Ret
6880 END
6881
6882 IF NOT EXISTS (SELECT AID FROM AccountPenaltyPeriod(NOLOCK) WHERE AID = @AID) BEGIN
6883 IF 0 < @Period BEGIN
6884 -- ì²˜ìŒ ìž¬ì œë¥¼ ë°›ì„경우.
6885 INSERT INTO AccountPenaltyPeriod( AID, DayLeft ) VALUES (@AID, @Period)
6886 IF 0 <> @@ERROR BEGIN
6887 ROLLBACK TRAN
6888 SET @Ret = 0
6889 RETURN @Ret
6890 END
6891 END
6892 END
6893 ELSE BEGIN
6894 IF 0 < @Period BEGIN
6895 -- ì´ë¯¸ 다른 ìž¬ì œë¥¼ ë°›ì„경우 기간만 ìˆ˜ì •í•¨.
6896 UPDATE AccountPenaltyPeriod SET DayLeft = @Period WHERE AID = @AID
6897 IF 0 = @@ROWCOUNT BEGIN
6898 ROLLBACK TRAN
6899 SET @Ret = 0
6900 RETURN @Ret
6901 END
6902 END
6903 ELSE BEGIN
6904 DELETE AccountPenaltyPeriod WHERE AID = @AID
6905 IF 0 <> @@ERROR BEGIN
6906 ROLLBACK TRAN
6907 SET @Ret = 0
6908 RETURN @Ret
6909 END
6910 END
6911 END
6912
6913 INSERT INTO AccountPenaltyLog( AID, UGradeID, DayLeft, RegDate, GMID )
6914 VALUES (@AID, @UGradeID, @Period, GETDATE(), @GMID )
6915 IF 0 <> @@ERROR BEGIN
6916 ROLLBACK TRAN
6917 SET @Ret = 0
6918 RETURN @Ret
6919 END
6920 COMMIT TRAN
6921
6922 SET @Ret = 1
6923 RETURN @Ret
6924
6925
6926
6927
6928GO
6929/****** Object: StoredProcedure [dbo].[spAdmWebUpdateBlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
6930SET ANSI_NULLS ON
6931GO
6932SET QUOTED_IDENTIFIER ON
6933GO
6934
6935CREATE PROC [dbo].[spAdmWebUpdateBlockCountryCode]
6936 @CountryCode3 char(3)
6937, @RoutingURL varchar(64)
6938, @IsBlock tinyint
6939, @Ret int Output
6940AS
6941 SET NOCOUNT ON
6942 UPDATE BlockCountryCode
6943 SET RoutingURL = @RoutingURL , IsBlock = @IsBlock
6944 WHERE CountryCode3 = @CountryCode3
6945 IF 0 = @@ROWCOUNT SET @Ret = 0
6946 ELSE SET @Ret = 1
6947 RETURN @Ret
6948
6949
6950
6951
6952GO
6953/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6954SET ANSI_NULLS ON
6955GO
6956SET QUOTED_IDENTIFIER ON
6957GO
6958
6959CREATE PROC [dbo].[spAdmWebUpdateCashSetShopItem]
6960 @CSSID int
6961, @Name varchar(64)
6962, @ResSex tinyint
6963, @ResLevel int
6964, @Weight int
6965, @Description varchar(1024)
6966, @Opened tinyint
6967, @CashPrice int
6968, @WebImgName varchar(64)
6969, @RentType tinyint
6970, @Ret int OUTPUT
6971 AS
6972 SET NOCOUNT ON
6973 IF (@CSSID IS NULL) OR (@ResSex IS NULL) OR (@Weight IS NULL)
6974 OR (@Opened IS NULL) OR (@Description IS NULL ) OR (@CashPrice IS NULL)
6975 OR (@WebImgName IS NULL) OR (@RentType IS NULL) OR (@Name IS NULL) BEGIN
6976 SET @Ret = 0
6977 RETURN @Ret
6978 END
6979
6980 UPDATE CashSetShop
6981 SET ResSex = @ResSex, ResLevel = @ResLevel, Weight = @Weight,
6982 Description = @Description, Opened = @Opened, CashPrice = @CashPrice,
6983 WebImgName = @WebImgName, RentType = @RentType, Name = @Name
6984 WHERE CSSID = @CSSID
6985 IF 0 = @@ROWCOUNT BEGIN
6986 SET @Ret = 0
6987 RETURN
6988 END
6989
6990 SET @Ret = 1
6991 RETURN @Ret
6992
6993
6994
6995
6996GO
6997/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6998SET ANSI_NULLS ON
6999GO
7000SET QUOTED_IDENTIFIER ON
7001GO
7002
7003CREATE PROC [dbo].[spAdmWebUpdateCashShopItem]
7004 @CSID int
7005, @Opened tinyint
7006, @CashPrice int
7007, @WebImgName varchar(64)
7008, @RentType tinyint
7009, @Ret int OUTPUT
7010AS
7011 UPDATE CashShop
7012 SET Opened = @Opened, CashPrice = @CashPrice, WebImgName = @WebImgName,
7013 RentType = @RentType
7014 WHERE CSID = @CSID
7015 IF 0 = @@ROWCOUNT BEGIN
7016 SET @Ret = 0
7017 RETURN @Ret
7018 END
7019
7020 SET @Ret = 1
7021 RETURN @Ret
7022
7023
7024
7025
7026GO
7027/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
7028SET ANSI_NULLS ON
7029GO
7030SET QUOTED_IDENTIFIER ON
7031GO
7032
7033CREATE PROC [dbo].[spAdmWebUpdateCashShopNewItem]
7034 @NewOrder int
7035, @CSID int
7036, @CSSID int
7037, @IsSetItem int
7038, @CategoryID int
7039, @Ret int OUTPUT
7040AS
7041 SET NOCOUNT ON
7042
7043 DECLARE @Category varchar(12)
7044 SELECT @Category = Description FROM CashShopNewItemCategory(NOLOCK)
7045 WHERE CategoryID = @CategoryID
7046
7047 IF 0 = @IsSetItem BEGIN
7048 UPDATE CashShopNewItem
7049 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7050 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = i.Name,
7051 ResSex = i.ResSex, ResLevel = i.ResLevel, CashPrice = cs.CashPrice,
7052 WebImgName = cs.WebImgName, RegDate = cs.RegDate
7053 FROM (Item i(NOLOCK) JOIN CashShop cs(NOLOCK)
7054 ON cs.CSID = @CSID AND i.ItemID = cs.ItemID)
7055 JOIN ItemSlotType ist(NOLOCK) ON ist.SlotType = i.Slot
7056 WHERE NewOrder = @NewOrder
7057 IF 0 = @@ROWCOUNT BEGIN
7058 SET @Ret = 0
7059 RETURN @Ret
7060 END
7061 END
7062 ELSE IF 1 = @IsSetItem BEGIN
7063 UPDATE CashShopNewItem
7064 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7065 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = css.Name,
7066 ResSex = css.ResSex, ResLevel = css.ResLevel, CashPrice = css.CashPrice,
7067 WebImgName = css.WebImgName, RegDate = css.RegDate
7068 FROM CashSetShop css(NOLOCK) JOIN ItemSlotType ist(NOLOCK)
7069 ON css.CSSID = @CSSID AND ist.SlotType = 10
7070 WHERE NewOrder = @NewOrder
7071 IF 0 = @@ROWCOUNT BEGIN
7072 SET @Ret = 0
7073 RETURN @Ret
7074 END
7075 END
7076
7077 SET @Ret = 1
7078 RETURN @Ret
7079
7080
7081
7082
7083
7084GO
7085/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
7086SET ANSI_NULLS ON
7087GO
7088SET QUOTED_IDENTIFIER ON
7089GO
7090
7091/*
7092 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
7093 */
7094CREATE PROC [dbo].[spAdmWebUpdateCustomIP]
7095 @IPFrom varchar(15)
7096, @IPTo varchar(15)
7097, @NewIPFrom varchar(15)
7098, @NewIPTo varchar(15)
7099, @IsBlock tinyint
7100, @CountryCode3 char(3)
7101, @Comment varchar(128)
7102, @Ret int OUTPUT
7103AS
7104 SET NOCOUNT ON
7105 DECLARE @DupRet bigint
7106 DECLARE @TmpIPFrom BIGINT
7107 DECLARE @TmpIPTo BIGINT
7108 DECLARE @TmpNewIPFrom bigint
7109 DECLARE @TmpNewIPTo bigint
7110
7111 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
7112 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
7113
7114 IF @TmpIPFrom > @TmpIPTo BEGIN
7115 SET @Ret = 3
7116 RETURN @Ret
7117 END
7118
7119 SET @TmpNewIPFrom = TestDB.game.inet_aton( @NewIPFrom )
7120 SET @TmpNewIPTo = TestDB.game.inet_aton( @NewIPTo )
7121
7122 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
7123 SET @Ret = 0
7124 RETURN @Ret
7125 END
7126
7127 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
7128 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
7129 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
7130 IF 1 = @DupRet BEGIN
7131 SET @Ret = 2
7132 RETURN @Ret
7133 END
7134 END
7135
7136 UPDATE CustomIP
7137 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
7138 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
7139 Comment = @Comment
7140 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
7141 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
7142 ELSE SET @Ret = 1
7143 RETURN @Ret
7144
7145
7146
7147
7148
7149GO
7150/****** Object: StoredProcedure [dbo].[spAdmWebUpdateQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
7151SET ANSI_NULLS ON
7152GO
7153SET QUOTED_IDENTIFIER ON
7154GO
7155
7156CREATE PROC [dbo].[spAdmWebUpdateQuestItemInfo]
7157 @CID int
7158, @QuestItemInfo binary(292)
7159AS
7160 SET NOCOUNT ON
7161 UPDATE Character
7162 SET QuestItemInfo = @QuestItemInfo
7163 WHERE CID = @CID
7164
7165
7166
7167
7168GO
7169/****** Object: StoredProcedure [dbo].[spBringAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7170SET ANSI_NULLS ON
7171GO
7172SET QUOTED_IDENTIFIER ON
7173GO
7174
7175
7176-- ì°½ê³ ì•„ì´í…œ ë‚´ ìºë¦í„°ë¡œ ê°€ì ¸ì˜¤ê¸° ----------
7177CREATE PROC [dbo].[spBringAccountItem]
7178 @AID int,
7179 @CID int,
7180 @AIID int
7181AS
7182SET NoCount On
7183
7184DECLARE @ItemID int
7185DECLARE @CAID int
7186DECLARE @OrderCIID int
7187
7188DECLARE @RentDate DATETIME
7189DECLARE @RentHourPeriod SMALLINT
7190DECLARE @Cnt SMALLINT
7191
7192SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7193FROM AccountItem WHERE AIID = @AIID
7194
7195
7196SELECT @CAID = AID FROM Character WHERE CID=@CID
7197
7198IF @ItemID IS NOT NULL AND @CAID = @AID
7199BEGIN
7200 BEGIN TRAN ----------------
7201 DELETE FROM AccountItem WHERE AIID = @AIID
7202 IF 0 <> @@ERROR BEGIN
7203 ROLLBACK TRAN
7204 RETURN
7205 END
7206
7207 INSERT INTO CharacterItem (CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
7208 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod, @Cnt)
7209 IF 0 <> @@ERROR BEGIN
7210 ROLLBACK TRAN
7211 RETURN
7212 END
7213
7214 SET @OrderCIID = @@IDENTITY
7215
7216 INSERT INTO BringAccountItemLog (ItemID, AID, CID, Date)
7217 VALUES (@ItemID, @AID, @CID, GETDATE())
7218 IF 0 <> @@ERROR BEGIN
7219 ROLLBACK TRAN
7220 RETURN
7221 END
7222
7223 COMMIT TRAN ---------------
7224
7225 SELECT @OrderCIID AS ORDERCIID, @ItemID AS ItemID, (@RentHourPeriod*60) - (DateDiff(n, @RentDate, GETDATE())) AS RentPeriodRemainder
7226END
7227
7228
7229
7230
7231
7232
7233GO
7234/****** Object: StoredProcedure [dbo].[spBringBackAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7235SET ANSI_NULLS ON
7236GO
7237SET QUOTED_IDENTIFIER ON
7238GO
7239
7240
7241-- ë‚´ ìºë¦í„° ìºì‰¬ì•„ì´í…œì„ ì°½ê³ ì— ë„£ê¸° ---------
7242CREATE PROC [dbo].[spBringBackAccountItem]
7243 @AID int,
7244 @CID int,
7245 @CIID int
7246AS
7247SET NOCOUNT ON
7248
7249DECLARE @ItemID int
7250DECLARE @RentDate DATETIME
7251DECLARE @RentHourPeriod SMALLINT
7252DECLARE @Cnt SMALLINT
7253
7254DECLARE @HeadCIID int
7255DECLARE @ChestCIID int
7256DECLARE @HandsCIID int
7257DECLARE @LegsCIID int
7258DECLARE @FeetCIID int
7259DECLARE @FingerLCIID int
7260DECLARE @FingerRCIID int
7261DECLARE @MeleeCIID int
7262DECLARE @PrimaryCIID int
7263DECLARE @SecondaryCIID int
7264DECLARE @Custom1CIID int
7265DECLARE @Custom2CIID int
7266
7267SELECT
7268@HeadCIID=head_slot, @ChestCIID=chest_slot, @HandsCIID=hands_slot,
7269@LegsCIID=legs_slot, @FeetCIID=feet_slot, @FingerLCIID=fingerl_slot, @FingerRCIID=fingerr_slot,
7270@MeleeCIID=melee_slot, @PrimaryCIID=primary_slot, @SecondaryCIID=secondary_slot,
7271@Custom1CIID=custom1_slot, @Custom2CIID=custom2_slot
7272FROM Character(nolock) WHERE cid=@CID AND aid=@AID
7273
7274SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7275FROM CharacterItem WHERE CIID=@CIID AND CID=@CID
7276
7277IF ((@ItemID IS NOT NULL) AND (@ItemID >= 400000) AND
7278 (@HeadCIID IS NULL OR @HeadCIID != @CIID) AND
7279 (@ChestCIID IS NULL OR @ChestCIID != @CIID) AND
7280 (@HandsCIID IS NULL OR @HandsCIID != @CIID) AND
7281 (@LegsCIID IS NULL OR @LegsCIID != @CIID) AND
7282 (@FeetCIID IS NULL OR @FeetCIID != @CIID) AND
7283 (@FingerLCIID IS NULL OR @FingerLCIID != @CIID) AND
7284 (@FingerRCIID IS NULL OR @FingerRCIID != @CIID) AND
7285 (@MeleeCIID IS NULL OR @MeleeCIID != @CIID) AND
7286 (@PrimaryCIID IS NULL OR @PrimaryCIID != @CIID) AND
7287 (@SecondaryCIID IS NULL OR @SecondaryCIID != @CIID) AND
7288 (@Custom1CIID IS NULL OR @Custom1CIID != @CIID) AND
7289 (@Custom2CIID IS NULL OR @Custom2CIID != @CIID))
7290BEGIN
7291 BEGIN TRAN -------------
7292 UPDATE CharacterItem SET CID=NULL WHERE CIID=@CIID AND CID=@CID
7293 IF 0 = @@ROWCOUNT BEGIN
7294 ROLLBACK TRAN
7295 RETURN
7296 END
7297
7298 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod, Cnt)
7299 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod, @Cnt)
7300 IF 0 <> @@ERROR BEGIN
7301 ROLLBACK TRAN
7302 RETURN
7303 END
7304 COMMIT TRAN -----------
7305END
7306
7307
7308
7309
7310
7311
7312GO
7313/****** Object: StoredProcedure [dbo].[spBuyBountyItem] Script Date: 28-05-2018 18:12:28 ******/
7314SET ANSI_NULLS ON
7315GO
7316SET QUOTED_IDENTIFIER ON
7317GO
7318
7319
7320CREATE PROC [dbo].[spBuyBountyItem]
7321 @CID INT,
7322 @ItemID INT,
7323 @Price INT
7324AS
7325SET NOCOUNT ON
7326BEGIN
7327 DECLARE @OrderCIID int
7328 DECLARE @Bounty INT
7329
7330 BEGIN TRAN
7331 -- 잔액검사
7332 SELECT @Bounty=BP FROM Character(NOLOCK) WHERE CID=@CID
7333 IF @Bounty IS NULL OR @Bounty < @Price
7334 BEGIN
7335 ROLLBACK TRAN
7336 RETURN 0
7337 END
7338
7339 -- Bounty ê°ì†Œ
7340 UPDATE Character SET BP=BP-@Price WHERE CID=@CID
7341 IF 0 = @@ROWCOUNT
7342 BEGIN
7343 ROLLBACK TRAN
7344 RETURN (-1)
7345 END
7346
7347 -- Item 추가
7348 INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
7349 IF 0 <> @@ERROR
7350 BEGIN
7351 ROLLBACK TRAN
7352 RETURN (-1)
7353 END
7354
7355 SELECT @OrderCIID = @@IDENTITY
7356
7357 -- Item 구매로그 추가
7358 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
7359 VALUES (@ItemID, @CID, GETDATE(), @Price, @Bounty, '구입')
7360 IF 0 <> @@ERROR BEGIN
7361 ROLLBACK TRAN
7362 RETURN (-1)
7363 END
7364
7365 SELECT @OrderCIID as ORDERCIID
7366 COMMIT TRAN
7367
7368 RETURN 1
7369END
7370
7371
7372
7373
7374
7375
7376
7377GO
7378/****** Object: StoredProcedure [dbo].[spBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7379SET ANSI_NULLS ON
7380GO
7381SET QUOTED_IDENTIFIER ON
7382GO
7383
7384--------------------------------------------------------------------------------
7385
7386-- cash shopì—서 ê±°ëž˜ëœ ì•„ì´í…œì„ accountitmeì— ì¶”ê°€.
7387CREATE PROC [dbo].[spBuyCashItem]
7388 @UserID varchar(20),
7389 @CSID int,
7390 @Cash int,
7391 @RentHourPeriod smallint = NULL,
7392 @MobileCode char(16) = NULL
7393AS
7394 SET NoCount On
7395
7396 DECLARE @AID int
7397 DECLARE @ItemID int
7398
7399 -- Account 검사
7400 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7401 IF @AID IS NULL
7402 BEGIN
7403 RETURN 0
7404 END
7405 ELSE
7406 BEGIN
7407 SELECT @ItemID = ItemID FROM CashShop cs (NOLOCK) WHERE cs.CSID = @CSID
7408
7409 IF @ItemID IS NOT NULL
7410 BEGIN
7411 DECLARE @RentDate datetime
7412
7413 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7414 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7415 BEGIN
7416 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7417 DECLARE @RentType TINYINT
7418 DECLARE @RCSPID INT
7419
7420 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
7421 IF @RentType = 1
7422 BEGIN
7423 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
7424 IF @RCSPID IS NULL
7425 BEGIN
7426 RETURN 0
7427 END
7428 END
7429
7430 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
7431 SET @RentDate = NULL
7432 END
7433 ELSE
7434 BEGIN
7435 SET @RentDate = GETDATE()
7436 END
7437
7438
7439 BEGIN TRAN tranBuyCashItem
7440
7441 -- ì•„ì´í…œ ìƒì„±.
7442 INSERT INTO accountitem(AID, ItemID, RentDate, RentHourPeriod)
7443 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7444
7445 IF @@ERROR <> 0
7446 BEGIN
7447 ROLLBACK TRAN tranBuyCashItem
7448 RETURN 0
7449 END
7450
7451 -- ì•„ì´í…œ 거래 logìƒì„±.
7452 INSERT INTO ItemPurchaseLogByCash(AID, ItemID, Date, RentHourPeriod, Cash, MobileCode)
7453 VALUES (@AID, @ItemID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7454
7455 IF @@ERROR <> 0
7456 BEGIN
7457 ROLLBACK TRAN tranBuyCashItem
7458 RETURN 0
7459 END
7460
7461 COMMIT TRAN tranBuyCashItem
7462
7463 RETURN 1
7464
7465 END
7466 ELSE
7467 BEGIN
7468 RETURN 0
7469 END
7470 END
7471
7472 RETURN 1
7473
7474
7475
7476
7477
7478
7479
7480
7481GO
7482/****** Object: StoredProcedure [dbo].[spBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7483SET ANSI_NULLS ON
7484GO
7485SET QUOTED_IDENTIFIER ON
7486GO
7487
7488CREATE PROC [dbo].[spBuyCashSetItem]
7489 @UserID varchar(20),
7490 @CSSID int,
7491 @Cash int,
7492 @RentHourPeriod smallint = NULL,
7493 @MobileCode char(16) = NULL
7494AS
7495 SET NoCount On
7496
7497 IF NOT EXISTS(SELECT CSSID FROM CashSetShop(NOLOCK) WHERE CSSID = @CSSID)
7498 RETURN 0
7499
7500 DECLARE @AID int
7501
7502 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7503
7504 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
7505 IF @AID IS NULL
7506 BEGIN
7507 RETURN 0
7508 END
7509 ELSE
7510 BEGIN
7511 DECLARE @RentDate datetime
7512
7513
7514
7515 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7516 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7517 BEGIN
7518 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7519 DECLARE @RentType TINYINT
7520 DECLARE @RCSSPID INT
7521
7522 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
7523 IF @RentType = 1
7524 BEGIN
7525 SELECT @RCSSPID=RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
7526 IF @RCSSPID IS NULL
7527 BEGIN
7528 RETURN 0
7529 END
7530 END
7531
7532 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
7533 SET @RentDate = NULL
7534 END
7535 ELSE
7536 BEGIN
7537 SET @RentDate = GETDATE()
7538 END
7539
7540
7541
7542 BEGIN TRAN
7543
7544 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
7545 FOR
7546 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
7547 FOR READ ONLY
7548
7549 OPEN curBuyCashSetItem
7550
7551 DECLARE @varCSID int
7552 DECLARE @ItemID int
7553
7554 FETCH FROM curBuyCashSetItem INTO @varCSID
7555
7556 WHILE @@FETCH_STATUS = 0
7557 BEGIN
7558 SELECT @ItemID = cs.ItemID
7559 FROM CashShop cs (NOLOCK)
7560 WHERE cs.CSID = @varCSID
7561
7562 IF @ItemID IS NOT NULL
7563 BEGIN
7564 -- ì•„ì´í…œ ìƒì„±.
7565 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
7566 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7567
7568 IF @@ERROR <> 0
7569 BEGIN
7570 ROLLBACK
7571 CLOSE curBuyCashSetItem
7572 DEALLOCATE curBuyCashSetItem
7573 RETURN 0
7574 END
7575 END
7576
7577 FETCH curBuyCashSetItem INTO @varCSID
7578 END
7579
7580 CLOSE curBuyCashSetItem
7581 DEALLOCATE curBuyCashSetItem
7582
7583 -- 셋트 ì•„ì´í…œ 구입 로그.
7584 INSERT INTO SetItemPurchaseLogByCash (AID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
7585 VALUES (@AID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7586
7587 IF @@ERROR <> 0
7588 BEGIN
7589 ROLLBACK
7590 RETURN 0
7591 END
7592
7593 COMMIT TRAN
7594 RETURN 1
7595 END
7596
7597
7598
7599
7600
7601
7602
7603GO
7604/****** Object: StoredProcedure [dbo].[spCashShopGetRankedList] Script Date: 28-05-2018 18:12:28 ******/
7605SET ANSI_NULLS ON
7606GO
7607SET QUOTED_IDENTIFIER ON
7608GO
7609
7610
7611CREATE PROC [dbo].[spCashShopGetRankedList]
7612 @Category varchar(32)
7613 -- @Category : ì›ê±°ë¦¬ë¬´ê¸°, ê·¼ì ‘ë¬´ê¸°, 특수아ì´í…œ, 방어구, 세트
7614AS
7615SET NOCOUNT ON
7616BEGIN
7617 IF (@Category = '세트')
7618 BEGIN
7619 SELECT TOP 5 r.Category, r.Rank, r.Name, r.CSID, r.CSSID, r.Slot, r.ResSex, r.ResLevel, r.CashPrice, r.RegDate, s.WebImgName
7620 FROM CashShopRank r(NOLOCK), CashSetShop s(NOLOCK)
7621 WHERE r.CSSID=s.CSSID AND Category=@Category AND s.Opened=1
7622 END
7623 ELSE
7624 BEGIN
7625 SELECT TOP 5 r.Category, r.Rank, r.Name, r.CSID, r.CSSID, r.Slot, r.ResSex, r.ResLevel, r.CashPrice, r.RegDate, s.WebImgName
7626 FROM CashShopRank r(NOLOCK), CashShop s(NOLOCK)
7627 WHERE r.CSID=s.CSID AND Category=@Category AND s.Opened=1
7628 END
7629END
7630
7631
7632
7633
7634
7635
7636
7637GO
7638/****** Object: StoredProcedure [dbo].[spCashShopNewItemList] Script Date: 28-05-2018 18:12:28 ******/
7639SET ANSI_NULLS ON
7640GO
7641SET QUOTED_IDENTIFIER ON
7642GO
7643
7644CREATE PROC [dbo].[spCashShopNewItemList]
7645 @IsSetItem INT
7646AS
7647BEGIN
7648 IF @IsSetItem=0
7649 BEGIN
7650 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashShop c(NOLOCK)
7651 WHERE n.CSID=c.CSID AND c.Opened=1 AND IsSetItem=0 ORDER BY NewOrder
7652 END
7653 ELSE
7654 BEGIN
7655 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashSetShop c(NOLOCK)
7656 WHERE n.CSSID=c.CSSID AND c.Opened=1 AND IsSetItem=1 ORDER BY NewOrder
7657 END
7658END
7659
7660
7661
7662
7663GO
7664/****** Object: StoredProcedure [dbo].[spCashShopNewItemUpdate] Script Date: 28-05-2018 18:12:28 ******/
7665SET ANSI_NULLS ON
7666GO
7667SET QUOTED_IDENTIFIER ON
7668GO
7669
7670
7671CREATE PROC [dbo].[spCashShopNewItemUpdate]
7672 @NewOrder INT,
7673 @IsSetItem INT,
7674 @CSID INT,
7675 @CSSID INT
7676AS
7677SET NOCOUNT ON
7678BEGIN
7679
7680 IF EXISTS(SELECT id FROM CashShopNewItem(NOLOCK) WHERE NewOrder=@NewOrder)
7681 BEGIN
7682 DELETE CashShopNewItem WHERE NewOrder=@NewOrder
7683 END
7684
7685 IF @IsSetItem = 0
7686 BEGIN
7687 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7688 SELECT @NewOrder AS NewOrder,
7689 CASE i.Slot
7690 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7691 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7692 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7693 WHEN 3 THEN '특수아ì´í…œ'
7694 WHEN 4 THEN '방어구'
7695 WHEN 5 THEN '방어구'
7696 WHEN 6 THEN '방어구'
7697 WHEN 7 THEN '방어구'
7698 WHEN 8 THEN '방어구'
7699 WHEN 9 THEN '방어구'
7700 END AS Category,
7701 @IsSetItem, s.CSID, NULL AS CSSID,
7702 CASE i.Slot
7703 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7704 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7705 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7706 WHEN 3 THEN 'ì•„ì´í…œ'
7707 WHEN 4 THEN '머리'
7708 WHEN 5 THEN '가슴'
7709 WHEN 6 THEN 'ì†'
7710 WHEN 7 THEN '다리'
7711 WHEN 8 THEN '발'
7712 WHEN 9 THEN 'ì†ê°€ë½'
7713 END AS Slot,
7714 i.Name, i.ResSex, i.ResLevel, CashPrice, s.WebImgName
7715 FROM CashShop s(NOLOCK), Item i(NOLOCK)
7716 WHERE s.ItemID=i.ItemID AND CSID=@CSID
7717 END
7718 ELSE
7719 BEGIN
7720 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7721 SELECT @NewOrder AS NewOrder, '세트', @IsSetItem, NULL AS CSID, CSSID, '세트' AS Slot, Name, ResSex, ResLevel, CashPrice, WebImgName
7722 FROM CashSetShop(NOLOCK)
7723 WHERE CSSID=@CSSID
7724 END
7725END
7726
7727
7728
7729
7730
7731GO
7732/****** Object: StoredProcedure [dbo].[spChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
7733SET ANSI_NULLS ON
7734GO
7735SET QUOTED_IDENTIFIER ON
7736GO
7737
7738
7739-- ìºë¦í„° ì´ë¦„ 변경
7740CREATE PROC [dbo].[spChangeCharName]
7741 @AID int,
7742 @CID int,
7743 @NewName varchar(24)
7744AS
7745SET NOCOUNT ON
7746IF (LEN(@NewName) <= 0) OR (LEN(@NewName) > 12)
7747BEGIN
7748 SELECT 0 AS Ret
7749END
7750
7751IF EXISTS (SELECT TOP 1 CID FROM Character where (Name=@NewName) AND (DeleteFlag=0))
7752BEGIN
7753 SELECT 0 AS Ret
7754 return (-1)
7755END
7756
7757UPDATE Character SET Name=@NewName WHERE AID=@AID AND CID=@CID
7758IF 0 = @@ROWCOUNT BEGIN
7759 SELECT 0 AS Ret
7760 RETURN (-1)
7761END
7762
7763SELECT 1 AS Ret
7764
7765
7766
7767
7768
7769
7770GO
7771/****** Object: StoredProcedure [dbo].[spCheckDuplicateCharName] Script Date: 28-05-2018 18:12:28 ******/
7772SET ANSI_NULLS ON
7773GO
7774SET QUOTED_IDENTIFIER ON
7775GO
7776
7777create proc [dbo].[spCheckDuplicateCharName]
7778 @Name varchar(24)
7779as
7780 set nocount on
7781 select top 1 cid from character(nolock) where deleteflag <> 1 and name = @Name
7782
7783
7784
7785
7786GO
7787/****** Object: StoredProcedure [dbo].[spCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
7788SET ANSI_NULLS ON
7789GO
7790SET QUOTED_IDENTIFIER ON
7791GO
7792
7793
7794
7795
7796CREATE PROC [dbo].[spCheckRegisteredUser]
7797 @UserID VARCHAR(20)
7798AS
7799BEGIN
7800 SET NOCOUNT ON
7801 DECLARE @AID INT
7802
7803 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7804
7805 IF @@ERROR <> 0
7806 BEGIN
7807 RETURN -- 디비장ì•
7808 END
7809
7810 IF @AID IS NULL
7811 BEGIN
7812 RETURN -1 -- 미가입ìž
7813 END
7814 select 1
7815 RETURN 1 -- ê°€ìž…ìž í™•ì¸
7816END
7817
7818
7819
7820
7821
7822GO
7823/****** Object: StoredProcedure [dbo].[spClearAllEquipedItem] Script Date: 28-05-2018 18:12:28 ******/
7824SET ANSI_NULLS ON
7825GO
7826SET QUOTED_IDENTIFIER ON
7827GO
7828
7829
7830/* ìºë¦í„° ëª¨ë“ ìž¥ë¹„ í•´ì œ */
7831CREATE PROC [dbo].[spClearAllEquipedItem]
7832 @CID int
7833AS
7834SET NOCOUNT ON
7835
7836UPDATE Character WITH (rowlock)
7837SET head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
7838 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL, custom1_slot=NULL, custom2_slot=NULL,
7839 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
7840 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL, custom1_itemid=NULL, custom2_itemid=NULL
7841
7842WHERE CID=@CID
7843
7844
7845
7846
7847
7848
7849
7850GO
7851/****** Object: StoredProcedure [dbo].[spConfirmBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7852SET ANSI_NULLS ON
7853GO
7854SET QUOTED_IDENTIFIER ON
7855GO
7856
7857
7858/* ì¼ë°˜ ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7859CREATE PROC [dbo].[spConfirmBuyCashItem]
7860 @UserID varchar(20),
7861 @CSID int,
7862 @RetEnableBuyItem int OUTPUT,
7863 @RetRepeatBuySameItem int OUTPUT
7864AS
7865SET NoCount On
7866
7867DECLARE @AID int
7868DECLARE @ItemID int
7869DECLARE @AIID int
7870
7871
7872SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7873SELECT @ItemID = ItemID FROM CashShop(nolock) WHERE CSID=@CSID
7874
7875IF @AID IS NULL
7876BEGIN
7877 SELECT @RetEnableBuyItem = 0
7878 SELECT @RetRepeatBuySameItem = 0
7879END
7880ELSE
7881BEGIN
7882 SELECT @RetEnableBuyItem = 1
7883
7884
7885 IF (@ItemID IS NOT NULL)
7886 BEGIN
7887 SELECT TOP 1 @AIID = AIID FROM AccountItem(nolock) WHERE AID=@AID AND ItemID=@ItemID
7888 IF (@AIID IS NOT NULL)
7889 BEGIN
7890 SELECT @RetRepeatBuySameItem = 1
7891 END
7892 ELSE
7893 BEGIN
7894 SELECT @RetRepeatBuySameItem = 0
7895 END
7896 END
7897 ELSE
7898 BEGIN
7899 SELECT @RetRepeatBuySameItem = 0
7900 END
7901
7902
7903END
7904
7905
7906
7907
7908
7909
7910GO
7911/****** Object: StoredProcedure [dbo].[spConfirmBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7912SET ANSI_NULLS ON
7913GO
7914SET QUOTED_IDENTIFIER ON
7915GO
7916
7917
7918
7919
7920/* 세트 ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7921CREATE PROC [dbo].[spConfirmBuyCashSetItem]
7922 @UserID varchar(20),
7923 @CSSID int,
7924 @RetEnableBuyItem int OUTPUT,
7925 @RetRepeatBuySameItem int OUTPUT
7926AS
7927SET NoCount On
7928
7929DECLARE @AID int
7930DECLARE @SIL_ID int
7931DECLARE @LAST_ID int
7932
7933SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7934
7935
7936IF @AID IS NULL
7937BEGIN
7938 SELECT @RetEnableBuyItem = 0
7939 SELECT @RetRepeatBuySameItem = 0
7940END
7941ELSE
7942BEGIN
7943 SELECT @RetEnableBuyItem = 1
7944
7945 SELECT TOP 1 @LAST_ID = id FROM SetItemPurchaseLogByCash spl(nolock) order by id desc
7946
7947 SELECT TOP 1 @SIL_ID = id FROM SetItemPurchaseLogByCash spl(nolock)
7948 WHERE id > (@LAST_ID-10000) AND AID=@AID AND CSSID=@CSSID
7949
7950 IF (@SIL_ID IS NOT NULL)
7951 BEGIN
7952 SELECT @RetRepeatBuySameItem = 1
7953 END
7954 ELSE
7955 BEGIN
7956 SELECT @RetRepeatBuySameItem = 0
7957 END
7958
7959END
7960
7961
7962
7963
7964
7965
7966GO
7967/****** Object: StoredProcedure [dbo].[spConfirmExistClan] Script Date: 28-05-2018 18:12:28 ******/
7968SET ANSI_NULLS ON
7969GO
7970SET QUOTED_IDENTIFIER ON
7971GO
7972
7973
7974-- í´ëžœì´ 존재하는지 확ì¸í•˜ê¸°
7975CREATE PROC [dbo].[spConfirmExistClan]
7976 @ClanName varchar(24)
7977AS
7978 SET NOCOUNT ON
7979 SELECT COUNT(*) FROM Clan(NOLOCK) WHERE Name=@ClanName
7980
7981
7982
7983
7984
7985GO
7986/****** Object: StoredProcedure [dbo].[spCreateClan] Script Date: 28-05-2018 18:12:28 ******/
7987SET ANSI_NULLS ON
7988GO
7989SET QUOTED_IDENTIFIER ON
7990GO
7991
7992
7993-- í´ëžœ ìƒì„±í•˜ê¸°
7994CREATE PROC [dbo].[spCreateClan]
7995 @ClanName varchar(24),
7996 @MasterCID int
7997AS
7998 DECLARE @NewCLID int
7999
8000 -- í´ëžœì´ë¦„ì´ ì¤‘ë³µì¸ì§€ 검사해야한다.
8001 SELECT @NewCLID=CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
8002
8003 IF @NewCLID IS NOT NULL
8004 BEGIN
8005 SELECT 0 AS Ret, 0 AS NewCLID
8006 RETURN
8007 END
8008
8009
8010 DECLARE @CNT int
8011
8012 -- í´ëžœì›ì´ ëª¨ë‘ ê°€ìž… 가능한지 검사해야한다.
8013 SELECT @CNT = COUNT(*) FROM ClanMember cm(NOLOCK), Character c(NOLOCK) WHERE (cm.CID=@MasterCID) AND cm.CID=c.CID AND c.DeleteFlag=0
8014
8015 IF @CNT != 0
8016 BEGIN
8017 SELECT 0 AS Ret, 0 AS NewCLID
8018 RETURN
8019 END
8020
8021
8022 BEGIN TRAN
8023 -- í´ëžœ ìƒì„±
8024 INSERT INTO Clan (Name, MasterCID, RegDate) VALUES (@ClanName, @MasterCID, GETDATE())
8025 IF 0 <> @@ERROR BEGIN
8026 ROLLBACK TRAN
8027 SELECT 0 AS Ret, 0 AS NewCLID
8028 RETURN
8029 END
8030
8031 SELECT @NewCLID = @@IDENTITY
8032 IF (@NewCLID IS not NULL)
8033 BEGIN
8034 DECLARE @Err1 int
8035
8036 -- í´ëžœì› 가입
8037 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@NewCLID, @MasterCID, 1, GETDATE())
8038 SET @Err1 = @@ERROR
8039
8040 IF (0 <> @Err1) BEGIN
8041 ROLLBACK TRAN
8042 SELECT 0 AS Ret, 0 AS NewCLID
8043 RETURN
8044 END
8045 END
8046 COMMIT TRAN
8047
8048
8049 SELECT 1 AS Ret, @NewCLID AS NewCLID
8050GO
8051/****** Object: StoredProcedure [dbo].[spDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
8052SET ANSI_NULLS ON
8053GO
8054SET QUOTED_IDENTIFIER ON
8055GO
8056
8057
8058/* ìºë¦í„° ì‚ì œ */
8059CREATE PROC [dbo].[spDeleteChar]
8060 @AID int,
8061 @CharNum smallint,
8062 @CharName varchar(24)
8063AS
8064DECLARE @CID int
8065DECLARE @CashItemCount int
8066
8067SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8068IF (@CID IS NULL)
8069BEGIN
8070 return (-1)
8071END
8072
8073SELECT @CashItemCount=COUNT(*) FROM CharacterItem(nolock) WHERE CID=@CID AND ItemID>=500000
8074
8075IF (@CashItemCount > 0) OR
8076 (EXISTS (SELECT TOP 1 CLID FROM ClanMember WHERE CID=@CID))
8077BEGIN
8078SELECT 2 AS Ret
8079return (0)
8080 return (-1)
8081END
8082
8083BEGIN TRAN
8084
8085UPDATE Character SET CharNum = -1, DeleteFlag = 1, Name='', DeleteName=@CharName
8086WHERE AID=@AID AND CharNum=@CharNum AND Name=@CharName
8087IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8088SELECT 3 AS Ret
8089 ROLLBACK TRAN
8090return (0)
8091 RETURN (-1)
8092END
8093
8094INSERT INTO CharacterMakingLog(AID, CharName, Type, Date)
8095VALUES(@AID, @CharName, 'ì‚ì œ', GETDATE())
8096IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8097SELECT 4 AS Ret
8098 ROLLBACK TRAN
8099return (0)
8100 RETURN (-1)
8101END
8102
8103COMMIT TRAN
8104SELECT 1 AS Ret
8105
8106
8107
8108
8109
8110
8111GO
8112/****** Object: StoredProcedure [dbo].[spDeleteCharItem] Script Date: 28-05-2018 18:12:28 ******/
8113SET ANSI_NULLS ON
8114GO
8115SET QUOTED_IDENTIFIER ON
8116GO
8117
8118
8119
8120/* ìºë¦í„° ì•„ì´í…œ ì‚ì œ */
8121CREATE PROC [dbo].[spDeleteCharItem]
8122 @CID int,
8123 @CIID int
8124AS
8125SET NOCOUNT ON
8126
8127UPDATE CharacterItem SET CID=NULL
8128WHERE CID=@CID AND CIID=@CIID
8129
8130/* ì˜ˆì „êº¼
8131DELETE FROM CharacterItem
8132WHERE CID=@CID AND CIID=@CIID
8133*/
8134
8135
8136
8137
8138
8139GO
8140/****** Object: StoredProcedure [dbo].[spDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
8141SET ANSI_NULLS ON
8142GO
8143SET QUOTED_IDENTIFIER ON
8144GO
8145
8146
8147
8148-- í´ëžœ ì‚ì œí•˜ê¸°
8149CREATE PROC [dbo].[spDeleteClan]
8150 @CLID int,
8151 @ClanName varchar(24)
8152
8153AS
8154 SET NOCOUNT ON
8155 -- í´ëžœì› ëª¨ë‘ ì‚ì œ
8156 DELETE FROM ClanMember WHERE CLID=@CLID
8157
8158 -- í´ëžœ ì‚ì œ
8159 UPDATE Clan SET Name=NULL, DeleteFlag=1, DeleteName=@ClanName WHERE CLID=@CLID
8160
8161
8162
8163
8164
8165
8166GO
8167/****** Object: StoredProcedure [dbo].[spDeleteExpiredAccountItem] Script Date: 28-05-2018 18:12:28 ******/
8168SET ANSI_NULLS ON
8169GO
8170SET QUOTED_IDENTIFIER ON
8171GO
8172
8173
8174/* 중앙ì€í–‰ì˜ 기간만료 ì•„ì´í…œ ì‚ì œ */
8175CREATE PROC [dbo].[spDeleteExpiredAccountItem]
8176 @AIID int
8177AS
8178SET NOCOUNT ON
8179
8180DELETE FROM AccountItem WHERE AIID=@AIID AND RentDate IS NOT NULL
8181
8182
8183
8184
8185
8186
8187GO
8188/****** Object: StoredProcedure [dbo].[spFetchTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
8189SET ANSI_NULLS ON
8190GO
8191SET QUOTED_IDENTIFIER ON
8192GO
8193
8194
8195/* ì „ì²´ ëží‚¹ì„ 산출한다. - 디비 ì—ì´ì „트ì—서 실행시키는 í”„ë¡œì‹œì ¸ */
8196CREATE PROC [dbo].[spFetchTotalRanking]
8197AS
8198SET NOCOUNT ON
8199TRUNCATE TABLE TotalRanking
8200
8201INSERT into TotalRanking(UserID, Name, Level, XP, KillCount, DeathCount)
8202
8203SELECT Account.UserID, c.name, c.Level, c.XP, c.KillCount, c.DeathCount
8204FROM Character c(nolock), Account(nolock)
8205WHERE Account.AID=c.aid AND c.DeleteFlag=0 AND c.XP >= 500
8206ORDER BY c.xp DESC, c.KillCount DESC, c.DeathCount ASC, c.PlayTime DESC
8207
8208
8209
8210
8211
8212GO
8213/****** Object: StoredProcedure [dbo].[spGetAccountCharInfo] Script Date: 28-05-2018 18:12:28 ******/
8214SET ANSI_NULLS ON
8215GO
8216SET QUOTED_IDENTIFIER ON
8217GO
8218
8219
8220-- ìºë¦í„°ì„ íƒì‹œ ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8221CREATE PROC [dbo].[spGetAccountCharInfo]
8222 @AID int
8223, @CharNum smallint
8224AS
8225SET NOCOUNT ON
8226DECLARE @CID int
8227DECLARE @CLID int
8228DECLARE @ClanName varchar(24)
8229DECLARE @ClanGrade int
8230DECLARE @ClanContPoint int
8231
8232SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8233
8234SELECT @CID AS CID, c.Name AS Name, c.CharNum AS CharNum, c.Level AS Level, c.Sex AS Sex, c.Hair AS Hair, c.Face AS Face,
8235 c.XP AS XP, c.BP AS BP,
8236 (SELECT cl.Name FROM Clan cl(nolock), ClanMember cm(nolock) WHERE cm.cid=@CID AND cm.CLID=cl.CLID) AS ClanName,
8237 head_itemid, chest_itemid, hands_itemid, legs_itemid, feet_itemid, fingerl_itemid,
8238 fingerr_itemid, melee_itemid, primary_itemid, secondary_itemid, custom1_itemid, custom2_itemid
8239FROM Character AS c WITH (nolock)
8240WHERE c.CID = @CID
8241
8242
8243
8244
8245
8246
8247GO
8248/****** Object: StoredProcedure [dbo].[spGetAccountInfo] Script Date: 28-05-2018 18:12:28 ******/
8249SET ANSI_NULLS ON
8250GO
8251SET QUOTED_IDENTIFIER ON
8252GO
8253
8254
8255CREATE PROC [dbo].[spGetAccountInfo]
8256 @AID int
8257, @ServerID int = 0
8258AS
8259BEGIN
8260 SET NOCOUNT ON
8261
8262 SELECT AID, UserID, UGradeID, Name, HackingType
8263 , DATEPART(yy, EndHackingBlockTime) AS HackBlockYear, DATEPART(mm, EndHackingBlockTime) AS HackBlockMonth
8264 , DATEPART(dd, EndHackingBlockTime) AS HackBlockDay, DATEPART(hh, EndHackingBlockTime) AS HackBlockHour
8265 , DATEPART(mi, EndHackingBlockTime) AS HackBlockMin
8266 FROM Account(NOLOCK) WHERE AID = @AID
8267
8268 update Account set LastLoginTime = getdate(), ServerID = @ServerID where aid = @aid
8269END
8270
8271
8272
8273
8274GO
8275/****** Object: StoredProcedure [dbo].[spGetAgoDay] Script Date: 28-05-2018 18:12:28 ******/
8276SET ANSI_NULLS ON
8277GO
8278SET QUOTED_IDENTIFIER ON
8279GO
8280
8281
8282-- 현재 ë‚ ì§œë¥¼ 기준으로 í‹€ì • ì¼ìˆ˜ ì´ì „ì˜ ë‚ ì„ êµ¬í•¨( EX, 2004-10-15 )
8283-- spRegularUpdateConnLogì˜ ì˜ì¡´ì„±ë•Œë¬¸ì— ë¨¼ì € ìƒì„±í•´ 줘야 함.
8284CREATE PROC [dbo].[spGetAgoDay]
8285 @DiffDay int
8286, @AgoDay datetime OUTPUT
8287AS
8288 SET NOCOUNT ON
8289 DECLARE @CurDay datetime
8290
8291 SELECT @CurDay = CONVERT( varchar(30), GETDATE(), 2 )
8292 SELECT @AgoDay = DATEADD( dd, -@DiffDay, @CurDay )
8293
8294
8295
8296
8297
8298
8299GO
8300/****** Object: StoredProcedure [dbo].[spGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8301SET ANSI_NULLS ON
8302GO
8303SET QUOTED_IDENTIFIER ON
8304GO
8305
8306
8307
8308-- ìºì‰¬ ì¼ë°˜ì•„ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8309CREATE PROC [dbo].[spGetCashItemImageFile]
8310 @CSID int
8311, @RetImageFileName varchar(64) OUTPUT
8312AS
8313SET NOCOUNT ON
8314
8315SELECT @RetImageFileName = WebImgName
8316FROM CashShop cs(nolock)
8317WHERE cs.csid=@CSID
8318
8319RETURN 1
8320
8321
8322
8323
8324
8325
8326GO
8327/****** Object: StoredProcedure [dbo].[spGetCashItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8328SET ANSI_NULLS ON
8329GO
8330SET QUOTED_IDENTIFIER OFF
8331GO
8332
8333CREATE PROC [dbo].[spGetCashItemInfo]
8334 @CSID int
8335AS
8336 SET NOCOUNT ON
8337
8338 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8339 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8340 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8341 i.Damage AS Damage, i.Delay AS Delay, i.Controllability AS Controllability,
8342 i.Magazine AS Magazine, i.MaxBullet AS MaxBullet, i.ReloadTime AS ReloadTime,
8343 i.HP AS HP, i.AP AS AP, i.MAXWT AS MaxWeight, i.LimitSpeed AS LimitSpeed,
8344 i.FR AS FR, i.CR AS CR, i.PR AS PR, i.LR AS LR,
8345 i.Description AS Description, cs.NewItemOrder AS IsNewItem,
8346 cs.RentType AS RentType
8347 FROM CashShop cs(nolock), Item i(nolock)
8348 WHERE i.ItemID = cs.ItemID AND cs.csid = @CSID
8349
8350
8351
8352
8353
8354
8355GO
8356/****** Object: StoredProcedure [dbo].[spGetCashItemList] Script Date: 28-05-2018 18:12:28 ******/
8357SET ANSI_NULLS ON
8358GO
8359SET QUOTED_IDENTIFIER ON
8360GO
8361
8362
8363/* ì•„ì´í…œ 리스트 ê°€ì ¸ì˜¤ê¸° */
8364CREATE PROC [dbo].[spGetCashItemList]
8365 @ItemType int,
8366 @Page int,
8367 @PageCount int OUTPUT
8368AS
8369SET NoCount On
8370
8371DECLARE @Rows int
8372DECLARE @ViewCount int
8373
8374SELECT @Rows = @Page * 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8375
8376DECLARE @PageSize INT
8377SELECT @PageSize = 8
8378
8379DECLARE @PageHead INT
8380DECLARE @RowCount INT
8381
8382
8383IF @ItemType = 1 /* ê·¼ì ‘ë¬´ê¸° */
8384BEGIN
8385
8386 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8387 FROM CashShop cs(nolock), Item i(nolock)
8388 WHERE i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8389
8390 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8391
8392 SET ROWCOUNT @RowCount
8393 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8394 WHERE cs.ItemID=i.ItemID AND i.Slot=1 AND cs.Opened=1
8395 ORDER BY cs.csid DESC
8396
8397 SET ROWCOUNT @PageSize
8398 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8399 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8400 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8401 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8402 cs.RentType AS RentType
8403 FROM CashShop cs(nolock), Item i(nolock)
8404 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8405 ORDER BY cs.csid DESC
8406
8407END
8408ELSE
8409IF @ItemType=2 /* ì›ê±°ë¦¬ë¬´ê¸° */
8410BEGIN
8411
8412 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8413 FROM CashShop cs(nolock), Item i(nolock)
8414 WHERE i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8415
8416 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8417
8418 SET ROWCOUNT @RowCount
8419 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8420 WHERE cs.ItemID=i.ItemID AND i.Slot=2 AND cs.Opened=1
8421 ORDER BY cs.csid DESC
8422
8423 SET ROWCOUNT @PageSize
8424 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8425 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8426 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8427 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8428 cs.RentType AS RentType
8429 FROM CashShop cs(nolock), Item i(nolock)
8430 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8431 ORDER BY cs.csid DESC
8432
8433END
8434ELSE
8435IF @ItemType=3 /* 방어구 */
8436BEGIN
8437
8438 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8439 FROM CashShop cs(nolock), Item i(nolock)
8440 WHERE i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8441
8442 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8443
8444 SET ROWCOUNT @RowCount
8445 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8446 WHERE cs.ItemID=i.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8447 ORDER BY cs.csid DESC
8448
8449 SET ROWCOUNT @PageSize
8450 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8451 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8452 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8453 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8454 cs.RentType AS RentType
8455 FROM CashShop cs(nolock), Item i(nolock)
8456 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8457 ORDER BY cs.csid DESC
8458
8459END
8460ELSE
8461IF @ItemType=4 /* 특수아ì´í…œ */
8462BEGIN
8463
8464 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8465 FROM CashShop cs(nolock), Item i(nolock)
8466 WHERE i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8467
8468 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8469
8470 SET ROWCOUNT @RowCount
8471 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8472 WHERE cs.ItemID=i.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8473 ORDER BY cs.csid DESC
8474
8475 SET ROWCOUNT @PageSize
8476 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8477 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8478 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8479 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8480 cs.RentType AS RentType
8481 FROM CashShop cs(nolock), Item i(nolock)
8482 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8483 ORDER BY cs.csid DESC
8484
8485END
8486
8487SET ROWCOUNT 0
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498GO
8499/****** Object: StoredProcedure [dbo].[spGetCashSetItemComposition] Script Date: 28-05-2018 18:12:28 ******/
8500SET ANSI_NULLS ON
8501GO
8502SET QUOTED_IDENTIFIER ON
8503GO
8504
8505
8506/* 세트 ì•„ì´í…œì˜ 세부아ì´í…œ ëª©ë¡ ë³´ê¸° */
8507CREATE PROC [dbo].[spGetCashSetItemComposition]
8508 @CSSID int,
8509 @OutRowCount int OUTPUT
8510AS
8511SET NOCOUNT ON
8512
8513SELECT @OutRowCount = COUNT(*)
8514FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8515WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8516
8517SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8518 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8519 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8520 i.Description AS Description, cs.RegDate As RegDate,
8521 cs.NewItemOrder AS IsNewItem
8522
8523FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8524WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8525
8526
8527
8528
8529
8530
8531
8532GO
8533/****** Object: StoredProcedure [dbo].[spGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8534SET ANSI_NULLS ON
8535GO
8536SET QUOTED_IDENTIFIER ON
8537GO
8538
8539
8540
8541-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8542CREATE PROC [dbo].[spGetCashSetItemImageFile]
8543 @CSSID int
8544, @RetImageFileName varchar(64) OUTPUT
8545AS
8546SET NOCOUNT ON
8547
8548SELECT @RetImageFileName=WebImgName FROM CashSetShop css(nolock) WHERE CSSID=@CSSID
8549
8550RETURN 1
8551
8552
8553
8554
8555
8556GO
8557/****** Object: StoredProcedure [dbo].[spGetCashSetItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8558SET ANSI_NULLS ON
8559GO
8560SET QUOTED_IDENTIFIER ON
8561GO
8562
8563
8564/* 세트아ì´í…œì˜ ìƒì„¸ ì •ë³´ 보기 */
8565CREATE PROC [dbo].[spGetCashSetItemInfo]
8566 @CSSID int
8567AS
8568 SET NOCOUNT ON
8569
8570 SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8571 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8572 Description AS Description, NewItemOrder As IsNewItem, RentType AS RentType
8573
8574 FROM CashSetShop css(nolock)
8575 WHERE CSSID = @CSSID
8576
8577
8578
8579
8580
8581
8582GO
8583/****** Object: StoredProcedure [dbo].[spGetCashSetItemList] Script Date: 28-05-2018 18:12:28 ******/
8584SET ANSI_NULLS ON
8585GO
8586SET QUOTED_IDENTIFIER ON
8587GO
8588
8589
8590/* 세트아ì´í…œ ëª©ë¡ ë³´ê¸° */
8591CREATE PROC [dbo].[spGetCashSetItemList]
8592 @Page int,
8593 @PageCount int OUTPUT
8594AS
8595SET NoCount On
8596DECLARE @Rows int
8597DECLARE @ViewCount int
8598
8599DECLARE @PageSize INT
8600SELECT @PageSize = 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8601
8602DECLARE @PageHead INT
8603DECLARE @RowCount INT
8604
8605SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize FROM CashSetShop css(nolock) WHERE css.Opened=1
8606SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8607
8608SET ROWCOUNT @RowCount
8609SELECT @PageHead = css.CSSID FROM CashSetShop css(nolock)
8610WHERE css.Opened=1
8611ORDER BY css.cssid DESC
8612
8613
8614SET ROWCOUNT @PageSize
8615SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8616 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8617 Description AS Description, RegDate AS RegDate, NewItemOrder AS IsNewItem,
8618 RentType AS RentType
8619FROM CashSetShop css(nolock)
8620WHERE cssid <= @PageHead AND css.Opened=1
8621ORDER BY css.cssid DESC
8622
8623
8624SET ROWCOUNT 0
8625
8626
8627
8628
8629
8630
8631GO
8632/****** Object: StoredProcedure [dbo].[spGetCharClan] Script Date: 28-05-2018 18:12:28 ******/
8633SET ANSI_NULLS ON
8634GO
8635SET QUOTED_IDENTIFIER ON
8636GO
8637
8638
8639
8640-- í´ëžœì´ë¦„ 알아오기
8641CREATE PROC [dbo].[spGetCharClan]
8642 @CID int
8643AS
8644 SET NOCOUNT ON
8645 SELECT cl.CLID AS CLID, cl.Name AS ClanName FROM ClanMember cm(nolock), Clan cl(nolock) WHERE cm.cid=@CID AND cm.CLID=cl.CLID
8646
8647
8648
8649
8650
8651GO
8652/****** Object: StoredProcedure [dbo].[spGetCharInfoByCharNum] Script Date: 28-05-2018 18:12:28 ******/
8653SET ANSI_NULLS ON
8654GO
8655SET QUOTED_IDENTIFIER ON
8656GO
8657
8658
8659-- ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8660CREATE PROC [dbo].[spGetCharInfoByCharNum]
8661 @AID int
8662, @CharNum smallint
8663AS
8664SET NOCOUNT ON
8665
8666DECLARE @CID int
8667DECLARE @CLID int
8668DECLARE @ClanName varchar(24)
8669DECLARE @ClanGrade int
8670DECLARE @ClanContPoint int
8671BEGIN
8672SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8673SELECT @CLID=cl.CLID, @ClanName=cl.Name, @ClanGrade=cm.Grade, @ClanContPoint=cm.ContPoint FROM ClanMember cm(nolock), Clan cl(nolock) WHERE cm.cid=@CID AND cm.CLID=cl.CLID
8674
8675SELECT CID, AID, Name, Level, Sex, CharNum, Hair, Face, XP, BP, HP, AP, FR, CR, ER, WR, GameCount, KillCount, DeathCount, PlayTime,
8676 head_slot, chest_slot, hands_slot, legs_slot, feet_slot, fingerl_slot, fingerr_slot, melee_slot, primary_slot,
8677 secondary_slot, custom1_slot, custom2_slot,
8678 @CLID AS CLID, @ClanName AS ClanName, @ClanGrade AS ClanGrade, @ClanContPoint AS ClanContPoint
8679FROM Character WITH (nolock) where cid=@CID
8680END
8681
8682
8683
8684
8685
8686GO
8687/****** Object: StoredProcedure [dbo].[spGetCharList] Script Date: 28-05-2018 18:12:28 ******/
8688SET ANSI_NULLS ON
8689GO
8690SET QUOTED_IDENTIFIER ON
8691GO
8692
8693
8694/* ê³„ì •ì˜ ìºë¦í„° 리스트 ê°€ì ¸ì˜¤ê¸° */
8695CREATE PROC [dbo].[spGetCharList]
8696 @AID int
8697AS
8698SET NOCOUNT ON
8699SELECT c.CID AS CID, c.Name AS Name, c.CharNum AS CharNum, c.Level AS Level
8700FROM Character AS c WITH (nolock)
8701WHERE c.AID=@AID AND c.DeleteFlag = 0
8702
8703
8704
8705
8706
8707GO
8708/****** Object: StoredProcedure [dbo].[spGetCharNameByCID] Script Date: 28-05-2018 18:12:28 ******/
8709SET ANSI_NULLS ON
8710GO
8711SET QUOTED_IDENTIFIER ON
8712GO
8713
8714
8715--------------------------------------------
8716
8717create proc [dbo].[spGetCharNameByCID]
8718 @CID int
8719as
8720 set nocount on
8721 select name from character(nolock) where CID = @CID
8722
8723
8724
8725
8726GO
8727/****** Object: StoredProcedure [dbo].[spGetCheckBlockedIP] Script Date: 28-05-2018 18:12:28 ******/
8728SET ANSI_NULLS ON
8729GO
8730SET QUOTED_IDENTIFIER ON
8731GO
8732
8733CREATE PROC [dbo].[spGetCheckBlockedIP]
8734@IP varchar(15)
8735AS
8736BEGIN
8737 SELECT ic.CountryName as Name, bcc.CountryCode3 as Code, bcc.IsBlock
8738 FROM BlockCountryCode bcc(NOLOCK), IPtoCountry ic(NOLOCK)
8739 WHERE ic.CountryCode3 = bcc.CountryCode3 and
8740 ic.IPFrom <= TestDB.game.inet_aton( @IP ) and ic.IPTo >= TestDB.game.inet_aton( @IP )
8741END
8742
8743
8744
8745
8746GO
8747/****** Object: StoredProcedure [dbo].[spGetCIDbyCharName] Script Date: 28-05-2018 18:12:28 ******/
8748SET ANSI_NULLS ON
8749GO
8750SET QUOTED_IDENTIFIER ON
8751GO
8752
8753
8754--------------------------------------------
8755
8756create proc [dbo].[spGetCIDbyCharName]
8757 @Name varchar(24)
8758as
8759 set nocount on
8760 select cid from character(nolock) where name = @Name
8761
8762
8763
8764
8765GO
8766/****** Object: StoredProcedure [dbo].[spGetClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
8767SET ANSI_NULLS ON
8768GO
8769SET QUOTED_IDENTIFIER ON
8770GO
8771
8772
8773/* í´ëžœ ëª…ì˜ˆì˜ ì „ë‹¹ 보기 월별 10위까지
8774 2004ë…„ 9ì›” ~ í˜„ìž¬ì €ë²ˆë‹¬ê¹Œì§€(ì´ë‹¬ ì œì™¸) */
8775CREATE PROC [dbo].[spGetClanHonorRanking]
8776 @Year INT,
8777 @Month INT
8778AS
8779SET NOCOUNT ON
8780BEGIN
8781 SELECT TOP 10 r.Ranking, r.ClanName, r.Point, r.Wins, r.Losses, r.CLID, c.EmblemUrl
8782 FROM ClanHonorRanking r(NOLOCK), Clan c(NOLOCK)
8783 WHERE r.CLID=c.CLID AND Year = @Year AND Month = @Month
8784 ORDER BY r.Ranking
8785END
8786
8787
8788
8789
8790
8791GO
8792/****** Object: StoredProcedure [dbo].[spGetClanInfo] Script Date: 28-05-2018 18:12:28 ******/
8793SET ANSI_NULLS ON
8794GO
8795SET QUOTED_IDENTIFIER ON
8796GO
8797
8798
8799-- í´ëžœ ì •ë³´ 얻기
8800CREATE PROC [dbo].[spGetClanInfo]
8801 @CLID int
8802AS
8803SET NOCOUNT ON
8804
8805SELECT cl.CLID AS CLID, cl.Name AS Name, cl.TotalPoint AS TotalPoint, cl.Level AS Level, cl.Ranking AS Ranking,
8806cl.Point AS Point, cl.Wins AS Wins, cl.Losses AS Losses, cl.Draws AS Draws,
8807c.Name AS ClanMaster,
8808(SELECT COUNT(*) FROM ClanMember WHERE CLID=@CLID) AS MemberCount,
8809cl.EmblemUrl AS EmblemUrl, cl.EmblemChecksum AS EmblemChecksum
8810
8811FROM Clan cl(nolock), Character c(nolock)
8812WHERE cl.CLID=@CLID and cl.MasterCID=c.CID
8813
8814
8815
8816
8817
8818
8819
8820GO
8821/****** Object: StoredProcedure [dbo].[spGetClanList] Script Date: 28-05-2018 18:12:28 ******/
8822SET ANSI_NULLS ON
8823GO
8824SET QUOTED_IDENTIFIER ON
8825GO
8826
8827
8828/* í´ëžœ ëª©ë¡ ë³´ê¸°
8829 한페ì´ì§€ 15개씩 ê³ ì •, 최대 페ì´ì§€ 수를 위해 COUNT(*) 알아내지 ë§ê²ƒ.(ì´ì „,ë‹¤ìŒ íŽ˜ì´ì§€ë¡œ í•´ê²°)
8830 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8831 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8832CREATE PROC [dbo].[spGetClanList]
8833 @Page INT,
8834 @Backward INT = 0
8835AS
8836SET NOCOUNT ON
8837BEGIN
8838 DECLARE @PageHead INT
8839 DECLARE @RowCount INT
8840
8841 IF @Backward = 0
8842 BEGIN
8843 SELECT @RowCount = ((@Page -1) * 15 + 1)
8844
8845 SET ROWCOUNT @RowCount
8846 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID DESC
8847
8848 SET ROWCOUNT 15
8849 SELECT cl.CLID AS CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate AS RegDate, cl.EmblemUrl AS EmblemUrl, cl.Point AS Point
8850 FROM Clan cl(NOLOCK), Character c(nolock)
8851 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID<@PageHead
8852 ORDER BY cl.CLID DESC
8853 END
8854 ELSE
8855 BEGIN -- ì—순
8856 SELECT @RowCount = ((@Page -1) * 15 + 1)
8857
8858 SET ROWCOUNT @RowCount
8859 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID
8860
8861 SET ROWCOUNT 15
8862 SELECT CLID, ClanName, Master, RegDate, EmblemUrl, Point
8863 FROM
8864 (
8865 SELECT TOP 15 cl.CLID AS CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate AS RegDate, cl.EmblemUrl AS EmblemUrl, cl.Point AS Point
8866 FROM Clan cl(NOLOCK), Character c(nolock)
8867 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID>=@PageHead ORDER BY cl.CLID
8868 ) AS t
8869 ORDER BY CLID DESC
8870 END
8871END
8872
8873
8874
8875
8876
8877GO
8878/****** Object: StoredProcedure [dbo].[spGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
8879SET ANSI_NULLS ON
8880GO
8881SET QUOTED_IDENTIFIER ON
8882GO
8883
8884
8885/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
8886 Arg1 : @CharName (í´ëžœì´ë¦„) */
8887CREATE PROC [dbo].[spGetClanListSearchByMaster]
8888 @CharName VARCHAR(24)
8889AS
8890SET NOCOUNT ON
8891BEGIN
8892
8893SELECT TOP 20 cl.CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate, cl.EmblemUrl, cl.Point
8894FROM Clan cl(NOLOCK), Character c(nolock)
8895
8896WHERE cl.DeleteFlag=0 AND cl.MasterCID=c.CID and c.Name=@CharName
8897ORDER BY cl.CLID
8898
8899END
8900
8901
8902
8903
8904
8905GO
8906/****** Object: StoredProcedure [dbo].[spGetClanListSearchByName] Script Date: 28-05-2018 18:12:28 ******/
8907SET ANSI_NULLS ON
8908GO
8909SET QUOTED_IDENTIFIER ON
8910GO
8911
8912
8913/* í´ëžœ 목ë¡ì°¾ê¸° (ì´ë¦„으로)
8914 Arg1 : @Name (í´ëžœì´ë¦„) */
8915CREATE PROC [dbo].[spGetClanListSearchByName]
8916 @Name VARCHAR(24)
8917AS
8918SET NOCOUNT ON
8919BEGIN
8920 SELECT TOP 20 cl.CLID AS CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate AS RegDate, cl.EmblemUrl AS EmblemUrl, cl.Point AS Point
8921 FROM Clan cl(NOLOCK), Character c(NOLOCK)
8922 WHERE cl.MasterCID=c.CID AND c.DeleteFlag=0 AND cl.Name=@Name
8923 ORDER BY cl.CLID
8924END
8925
8926
8927
8928
8929
8930GO
8931/****** Object: StoredProcedure [dbo].[spGetClanMember] Script Date: 28-05-2018 18:12:28 ******/
8932SET ANSI_NULLS ON
8933GO
8934SET QUOTED_IDENTIFIER ON
8935GO
8936
8937
8938-- í´ëžœì› 알아오기
8939CREATE PROC [dbo].[spGetClanMember]
8940 @CLID int
8941AS
8942 SET NOCOUNT ON
8943 SELECT cm.clid AS CLID, cm.Grade AS ClanGrade, c.cid AS CID, c.name AS CharName
8944 FROM ClanMember cm(nolock), Character c(nolock)
8945 WHERE CLID=@CLID AND cm.cid=c.cid
8946
8947
8948
8949
8950
8951GO
8952/****** Object: StoredProcedure [dbo].[spGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
8953SET ANSI_NULLS ON
8954GO
8955SET QUOTED_IDENTIFIER ON
8956GO
8957
8958
8959
8960-- Masterì´ë¦„ê³¼ RegDate추가.
8961/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
8962 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8963 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8964CREATE PROC [dbo].[spGetClanRanking]
8965 @Page INT,
8966 @Backward INT = 0
8967AS
8968SET NOCOUNT ON
8969BEGIN
8970 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
8971 DECLARE @RowCount INT
8972 DECLARE @PageHead INT
8973
8974 IF @Backward = 0
8975 BEGIN
8976 SELECT @RowCount = ((@Page -1) * 20 + 1)
8977 SELECT TOP 20 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, ch.Name AS Master, cl.RegDate
8978 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8979 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
8980 ORDER BY cl.Ranking
8981 END
8982 ELSE
8983 BEGIN
8984 SELECT @RowCount = ((@Page -1) * 20 + 1)
8985
8986 SET ROWCOUNT @RowCount
8987 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
8988
8989 SET ROWCOUNT 20
8990 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
8991 (
8992 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
8993 SELECT TOP 20 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, ch.Name AS Master, cl.RegDate
8994 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8995 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
8996 ORDER BY cl.Ranking DESC
8997 ) AS t ORDER BY Ranking
8998 END
8999END
9000
9001
9002
9003
9004
9005GO
9006/****** Object: StoredProcedure [dbo].[spGetClanRankingHistory] Script Date: 28-05-2018 18:12:28 ******/
9007SET ANSI_NULLS ON
9008GO
9009SET QUOTED_IDENTIFIER ON
9010GO
9011
9012
9013/* í´ëžœ ì—대 ëží‚¹ì°¾ê¸°
9014 Arg1 : @Year (ë…„ë„)
9015 Arg2 : @Month (ì›”)
9016 Arg3 : @Page (페ì´ì§€)
9017 Arg4 : @Backward (ì—순) */
9018CREATE PROC [dbo].[spGetClanRankingHistory]
9019 @Year INT,
9020 @Month INT,
9021 @Page INT,
9022 @Backward INT = 0
9023AS
9024SET NOCOUNT ON
9025BEGIN
9026 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
9027 DECLARE @RowCount INT
9028 DECLARE @PageHead INT
9029
9030 IF @Backward = 0
9031 BEGIN
9032 SELECT @RowCount = ((@Page -1) * 20 + 1)
9033 SELECT TOP 20 Ranking, ClanName as ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9034 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking >= @RowCount ORDER BY Ranking
9035 END
9036 ELSE
9037 BEGIN
9038 SELECT @RowCount = ((@Page -1) * 20 + 1)
9039
9040 SET ROWCOUNT @RowCount
9041 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
9042
9043 SET ROWCOUNT 20
9044 SELECT Ranking, RankIncrease=0, ClanName, Point, Wins, Losses, CLID, EmblemUrl=NULL FROM
9045 (
9046 SELECT TOP 20 Ranking, ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9047 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking <= @PageHead ORDER BY Ranking DESC
9048 ) AS t ORDER BY Ranking
9049 END
9050END
9051
9052
9053
9054
9055
9056
9057GO
9058/****** Object: StoredProcedure [dbo].[spGetClanRankingMaxPage] Script Date: 28-05-2018 18:12:28 ******/
9059SET ANSI_NULLS ON
9060GO
9061SET QUOTED_IDENTIFIER ON
9062GO
9063
9064
9065CREATE PROC [dbo].[spGetClanRankingMaxPage]
9066AS
9067SET NOCOUNT ON
9068BEGIN
9069 DECLARE @MaxPage INT
9070 SELECT TOP 1 @MaxPage = Ranking / 20 + 1 FROM Clan(NOLOCK) WHERE DeleteFlag=0 AND Ranking>0 ORDER BY Ranking DESC
9071-- SELECT @MaxPage
9072 RETURN @MaxPage
9073END
9074
9075
9076
9077
9078
9079
9080GO
9081/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
9082SET ANSI_NULLS ON
9083GO
9084SET QUOTED_IDENTIFIER OFF
9085GO
9086
9087
9088CREATE PROC [dbo].[spGetClanRankingSearchByName]
9089 @Name VARCHAR(24)
9090AS
9091SET NOCOUNT ON
9092BEGIN
9093 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9094 WHERE DeleteFlag=0 AND Ranking>0 AND Name=@Name ORDER BY Ranking
9095END
9096
9097
9098
9099
9100
9101
9102GO
9103/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByRanking] Script Date: 28-05-2018 18:12:28 ******/
9104SET ANSI_NULLS ON
9105GO
9106SET QUOTED_IDENTIFIER ON
9107GO
9108
9109
9110/* í´ëžœ ëží‚¹ì°¾ê¸° (순위로)
9111 Arg1 : @Ranking (순위) */
9112CREATE PROC [dbo].[spGetClanRankingSearchByRanking]
9113 @Ranking INT
9114AS
9115SET NOCOUNT ON
9116BEGIN
9117 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9118 WHERE DeleteFlag=0 AND Ranking>0 AND Ranking=@Ranking ORDER BY Ranking
9119END
9120
9121
9122
9123
9124
9125
9126GO
9127/****** Object: StoredProcedure [dbo].[spGetCLIDFromClanName] Script Date: 28-05-2018 18:12:28 ******/
9128SET ANSI_NULLS ON
9129GO
9130SET QUOTED_IDENTIFIER ON
9131GO
9132
9133
9134
9135-- í´ëžœì´ë¦„으로 CLID알아오기
9136CREATE PROC [dbo].[spGetCLIDFromClanName]
9137 @ClanName varchar(24)
9138AS
9139 SET NOCOUNT ON
9140 SELECT CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
9141
9142
9143
9144
9145
9146GO
9147/****** Object: StoredProcedure [dbo].[spGetFriendList] Script Date: 28-05-2018 18:12:28 ******/
9148SET ANSI_NULLS ON
9149GO
9150SET QUOTED_IDENTIFIER ON
9151GO
9152
9153
9154-- 친구 ëª©ë¡ ê°€ì ¸ì˜¤ê¸°
9155CREATE PROC [dbo].[spGetFriendList]
9156 @CID int
9157AS
9158SET NOCOUNT ON
9159SELECT f.FriendCID, f.Favorite, c.Name
9160FROM Friend f(NOLOCK), Character c(NOLOCK)
9161WHERE f.CID=@CID AND f.FriendCID=c.CID AND f.DeleteFlag=0 AND f.Type=1
9162
9163
9164
9165
9166
9167GO
9168/****** Object: StoredProcedure [dbo].[spGetHourMaxPlayerCount] Script Date: 28-05-2018 18:12:28 ******/
9169SET ANSI_NULLS ON
9170GO
9171SET QUOTED_IDENTIFIER ON
9172GO
9173
9174CREATE proc [dbo].[spGetHourMaxPlayerCount]
9175 @begin smalldatetime
9176, @end smalldatetime
9177as
9178 set nocount on
9179
9180 if 0 <> datediff(dd, @begin, @end) return
9181
9182 select t.hour, max(t.playercount) as maxplayercount
9183 from
9184 (
9185 select datepart(hh, time) as hour, sum(playercount) as playercount
9186 from logdb.game.serverlogstorage(nolock)
9187 where time >= @begin and time <= @end
9188 group by time
9189 ) as t
9190 group by t.hour
9191 order by t.hour
9192
9193
9194
9195
9196GO
9197/****** Object: StoredProcedure [dbo].[spGetIPCountryCode] Script Date: 28-05-2018 18:12:28 ******/
9198SET ANSI_NULLS ON
9199GO
9200SET QUOTED_IDENTIFIER ON
9201GO
9202
9203CREATE PROC [dbo].[spGetIPCountryCode]
9204 @IP char(15)
9205AS
9206 SET NOCOUNT ON
9207
9208 DECLARE @IPNumber BIGINT
9209 SET @IPNumber = TestDB.game.inet_aton(@IP)
9210
9211 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
9212 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9213
9214
9215
9216
9217
9218GO
9219/****** Object: StoredProcedure [dbo].[spGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
9220SET ANSI_NULLS ON
9221GO
9222SET QUOTED_IDENTIFIER OFF
9223GO
9224
9225CREATE PROCEDURE [dbo].[spGetIPtoCountry]
9226@IP VARCHAR(15),
9227@Code VARCHAR(3) OUTPUT
9228AS
9229BEGIN
9230 DECLARE @IPNumber BIGINT
9231 SELECT @IPNumber=TestDB.game.inet_aton(@IP)
9232
9233 SELECT @Code=CountryCode3 FROM IPtoCountry(NOLOCK)
9234 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9235END
9236
9237
9238
9239
9240
9241
9242GO
9243/****** Object: StoredProcedure [dbo].[spGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
9244SET ANSI_NULLS ON
9245GO
9246SET QUOTED_IDENTIFIER ON
9247GO
9248
9249CREATE PROC [dbo].[spGetIPtoCountryList]
9250AS
9251 SELECT IPFrom, IPTo, CountryCode3
9252 FROM IPtoCountry(NOLOCK)
9253 ORDER BY IPFrom
9254
9255
9256
9257
9258GO
9259/****** Object: StoredProcedure [dbo].[spGetLadderTeamMemberByCID] Script Date: 28-05-2018 18:12:28 ******/
9260SET ANSI_NULLS ON
9261GO
9262SET QUOTED_IDENTIFIER ON
9263GO
9264
9265
9266-- 팀멤버 얻어오기
9267CREATE PROC [dbo].[spGetLadderTeamMemberByCID]
9268 @CID int
9269AS
9270RETURN
9271
9272
9273
9274
9275
9276GO
9277/****** Object: StoredProcedure [dbo].[spGetLoginInfo] Script Date: 28-05-2018 18:12:28 ******/
9278SET ANSI_NULLS ON
9279GO
9280SET QUOTED_IDENTIFIER ON
9281GO
9282
9283
9284/* LoginInfo 얻어옴 */
9285CREATE PROC [dbo].[spGetLoginInfo]
9286 @UserID varchar(20)
9287AS
9288SET NOCOUNT ON
9289SELECT AID, UserID, PasswordData FROM Login(nolock) WHERE UserID = @UserID
9290
9291
9292
9293
9294
9295
9296
9297GO
9298/****** Object: StoredProcedure [dbo].[spGetNewCashItem] Script Date: 28-05-2018 18:12:28 ******/
9299SET ANSI_NULLS ON
9300GO
9301SET QUOTED_IDENTIFIER ON
9302GO
9303
9304
9305CREATE PROC [dbo].[spGetNewCashItem]
9306 @ItemCount int = 0
9307AS
9308SET NoCount On
9309
9310IF @ItemCount != 0
9311BEGIN
9312 SET ROWCOUNT @ItemCount
9313END
9314
9315 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
9316 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
9317 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
9318 i.Description AS Description, cs.RentType AS RentType
9319 FROM CashShop cs (nolock) , Item i (nolock)
9320 WHERE i.ItemID = cs.ItemID AND cs.NewItemOrder > 0 AND Opened=1
9321 order by cs.NewItemOrder asc
9322
9323
9324
9325
9326
9327
9328GO
9329/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9330SET ANSI_NULLS ON
9331GO
9332SET QUOTED_IDENTIFIER ON
9333GO
9334
9335
9336-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 보기
9337CREATE PROC [dbo].[spGetRentCashSetShopPrice]
9338 @CSSID int
9339AS
9340 SET NOCOUNT ON
9341 SELECT RentHourPeriod, CashPrice
9342 FROM RentCashSetShopPrice(nolock) WHERE CSSID = @CSSID
9343 ORDER BY CashPrice
9344
9345
9346
9347
9348
9349
9350GO
9351/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9352SET ANSI_NULLS ON
9353GO
9354SET QUOTED_IDENTIFIER ON
9355GO
9356
9357
9358CREATE PROC [dbo].[spGetRentCashSetShopPriceByHour]
9359 @CSSID int
9360, @RentHourPeriod smallint
9361AS
9362 SET NOCOUNT ON
9363 IF @RentHourPeriod IS NOT NULL
9364 BEGIN
9365 -- ê¸°ê°„ì œ ì•„ì´í…œ
9366 SELECT CashPrice
9367 FROM RentCashSetShopPrice(nolock)
9368 WHERE CSSID = @CSSID AND RentHourPeriod = @RentHourPeriod
9369 END
9370 ELSE IF @RentHourPeriod IS NULL
9371 BEGIN
9372 -- ì˜êµ¬ ì•„ì´í…œ.
9373 SELECT CashPrice
9374 FROM RentCashSetShopPrice(nolock)
9375 WHERE CSSID = @CSSID AND RentHourPeriod IS NULL
9376 END
9377
9378
9379
9380
9381
9382
9383GO
9384/****** Object: StoredProcedure [dbo].[spGetRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9385SET ANSI_NULLS ON
9386GO
9387SET QUOTED_IDENTIFIER ON
9388GO
9389
9390
9391-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 보기
9392CREATE PROC [dbo].[spGetRentCashShopPrice]
9393 @CSID int
9394AS
9395 SET NOCOUNT ON
9396 SELECT RentHourPeriod, CashPrice
9397 FROM RentCashShopPrice(nolock) WHERE CSID = @CSID
9398 ORDER BY CashPrice
9399
9400
9401
9402
9403
9404
9405GO
9406/****** Object: StoredProcedure [dbo].[spGetRentCashShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9407SET ANSI_NULLS ON
9408GO
9409SET QUOTED_IDENTIFIER ON
9410GO
9411
9412
9413CREATE PROC [dbo].[spGetRentCashShopPriceByHour]
9414 @CSID int
9415, @RentHourPeriod smallint
9416AS
9417 SET NOCOUNT ON
9418 IF @RentHourPeriod IS NOT NULL
9419 BEGIN
9420 -- ê¸°ê°„ì œ ì•„ì´í…œ
9421 SELECT CashPrice
9422 FROM RentCashShopPrice (nolock)
9423 WHERE CSID = @CSID AND RentHourPeriod = @RentHourPeriod
9424 END
9425 ELSE IF @RentHourPeriod IS NULL
9426 BEGIN
9427 -- ì˜êµ¬ ì•„ì´í…œ
9428 SELECT CashPrice
9429 FROM RentCashShopPrice (nolock)
9430 WHERE CSID = @CSID AND RentHourPeriod IS NULL
9431 END
9432
9433
9434
9435
9436
9437
9438
9439
9440GO
9441/****** Object: StoredProcedure [dbo].[spGetSexInfo] Script Date: 28-05-2018 18:12:28 ******/
9442SET ANSI_NULLS ON
9443GO
9444SET QUOTED_IDENTIFIER ON
9445GO
9446
9447
9448CREATE PROC [dbo].[spGetSexInfo]
9449 @AID int
9450AS
9451SET NOCOUNT ON
9452SELECT Sex, RegNum, Email FROM Account WHERE AID=@AID
9453
9454
9455
9456
9457
9458GO
9459/****** Object: StoredProcedure [dbo].[spGetTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
9460SET ANSI_NULLS ON
9461GO
9462SET QUOTED_IDENTIFIER ON
9463GO
9464
9465
9466
9467/* ì „ì²´ ëží‚¹ 보기 */
9468CREATE PROC [dbo].[spGetTotalRanking]
9469 @MinRank int,
9470 @MaxRank int
9471AS
9472SET NOCOUNT ON
9473
9474SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount FROM TotalRanking(nolock)
9475WHERE Rank BETWEEN @MinRank AND @MaxRank
9476ORDER BY Rank
9477
9478
9479
9480
9481
9482
9483GO
9484/****** Object: StoredProcedure [dbo].[spInsertChar] Script Date: 28-05-2018 18:12:28 ******/
9485SET ANSI_NULLS ON
9486GO
9487SET QUOTED_IDENTIFIER ON
9488GO
9489
9490
9491/* ìºë¦í„° 추가 */
9492CREATE PROC [dbo].[spInsertChar]
9493 @AID int,
9494 @CharNum smallint,
9495 @Name varchar(24),
9496 @Sex tinyint,
9497 @Hair int,
9498 @Face int,
9499 @Costume int
9500AS
9501SET NOCOUNT ON
9502BEGIN TRAN
9503IF EXISTS (SELECT CID FROM Character where (AID=@AID AND CharNum=@CharNum) OR (Name=@Name))
9504BEGIN
9505 ROLLBACK TRAN
9506 return(-1)
9507END
9508
9509DECLARE @CharIdent int
9510DECLARE @ChestCIID int
9511DECLARE @LegsCIID int
9512DECLARE @MeleeCIID int
9513DECLARE @PrimaryCIID int
9514DECLARE @SecondaryCIID int
9515DECLARE @Custom1CIID int
9516DECLARE @Custom2CIID int
9517
9518DECLARE @ChestItemID int
9519DECLARE @LegsItemID int
9520DECLARE @MeleeItemID int
9521DECLARE @PrimaryItemID int
9522DECLARE @SecondaryItemID int
9523DECLARE @Custom1ItemID int
9524DECLARE @Custom2ItemID int
9525
9526SET @SecondaryCIID = NULL
9527SET @SecondaryItemID = NULL
9528
9529SET @Custom1CIID = NULL
9530SET @Custom1ItemID = NULL
9531
9532SET @Custom2CIID = NULL
9533SET @Custom2ItemID = NULL
9534
9535INSERT INTO Character (AID, Name, CharNum, Level, Sex, Hair, Face, XP, BP, FR, CR, ER, WR,
9536 GameCount, KillCount, DeathCount, RegDate, PlayTime, DeleteFlag)
9537Values (@AID, @Name, @CharNum, 1, @Sex, @Hair, @Face, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), 0, 0)
9538IF 0 <> @@ERROR BEGIN
9539 ROLLBACK TRAN
9540 RETURN (-1)
9541END
9542
9543
9544SET @CharIdent = @@IDENTITY
9545
9546 /* Melee */
9547 SET @MeleeItemID =
9548 CASE @Costume
9549 WHEN 0 THEN 1
9550 WHEN 1 THEN 2
9551 WHEN 2 THEN 1
9552 WHEN 3 THEN 2
9553 WHEN 4 THEN 2
9554 WHEN 5 THEN 1
9555 END
9556
9557 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @MeleeItemID)
9558 IF 0 <> @@ERROR BEGIN
9559 ROLLBACK TRAN
9560 RETURN (-1)
9561 END
9562
9563 SET @MeleeCIID = @@IDENTITY
9564
9565 /* Primary */
9566 SET @PrimaryItemID =
9567 CASE @Costume
9568 WHEN 0 THEN 5001
9569 WHEN 1 THEN 5002
9570 WHEN 2 THEN 4005
9571 WHEN 3 THEN 4001
9572 WHEN 4 THEN 4002
9573 WHEN 5 THEN 4006
9574 END
9575
9576 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @PrimaryItemID)
9577 IF 0 <> @@ERROR BEGIN
9578 ROLLBACK TRAN
9579 RETURN (-1)
9580 END
9581
9582 SET @PrimaryCIID = @@IDENTITY
9583
9584 /* Secondary */
9585IF @Costume = 0 OR @Costume = 2 BEGIN
9586 SET @SecondaryItemID =
9587 CASE @Costume
9588 WHEN 0 THEN 4001
9589 WHEN 1 THEN 0
9590 WHEN 2 THEN 5001
9591 WHEN 3 THEN 4006
9592 WHEN 4 THEN 0
9593 WHEN 5 THEN 4006
9594 END
9595
9596 IF @SecondaryItemID <> 0 BEGIN
9597 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @SecondaryItemID)
9598 IF 0 <> @@ERROR BEGIN
9599 ROLLBACK TRAN
9600 RETURN (-1)
9601 END
9602
9603 SET @SecondaryCIID = @@IDENTITY
9604 END
9605END
9606 SET @Custom1ItemID =
9607 CASE @Costume
9608 WHEN 0 THEN 30301
9609 WHEN 1 THEN 30301
9610 WHEN 2 THEN 30401
9611 WHEN 3 THEN 30401
9612 WHEN 4 THEN 30401
9613 WHEN 5 THEN 30101
9614 END
9615
9616 /* Custom1 */
9617 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom1ItemID)
9618 IF 0 <> @@ERROR BEGIN
9619 ROLLBACK TRAN
9620 RETURN (-1)
9621 END
9622
9623 SET @Custom1CIID = @@IDENTITY
9624
9625 /* Custom2 */
9626IF @Costume = 4 OR @Costume = 5
9627BEGIN
9628 SET @Custom2ItemID =
9629 CASE @Costume
9630 WHEN 0 THEN 0
9631 WHEN 1 THEN 0
9632 WHEN 2 THEN 0
9633 WHEN 3 THEN 0
9634 WHEN 4 THEN 30001
9635 WHEN 5 THEN 30001
9636 END
9637
9638 IF @Custom2ItemID <> 0
9639 BEGIN
9640 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom2ItemID)
9641 IF 0 <> @@ERROR BEGIN
9642 ROLLBACK TRAN
9643 RETURN (-1)
9644 END
9645
9646 SET @Custom2CIID = @@IDENTITY
9647 END
9648END
9649
9650
9651IF @Sex = 0 /* 남ìžì¼ 경우 */
9652BEGIN
9653
9654 /* Chest */
9655 SET @ChestItemID =
9656 CASE @Costume
9657 WHEN 0 THEN 21001
9658 WHEN 1 THEN 21001
9659 WHEN 2 THEN 21001
9660 WHEN 3 THEN 21001
9661 WHEN 4 THEN 21001
9662 WHEN 5 THEN 21001
9663 END
9664
9665
9666 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9667 IF 0 <> @@ERROR BEGIN
9668 ROLLBACK TRAN
9669 RETURN (-1)
9670 END
9671
9672 SET @ChestCIID = @@IDENTITY
9673
9674 /* Legs */
9675 SET @LegsItemID =
9676 CASE @Costume
9677 WHEN 0 THEN 23001
9678 WHEN 1 THEN 23001
9679 WHEN 2 THEN 23001
9680 WHEN 3 THEN 23001
9681 WHEN 4 THEN 23001
9682 WHEN 5 THEN 23001
9683 END
9684
9685
9686 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9687 IF 0 <> @@ERROR BEGIN
9688 ROLLBACK TRAN
9689 RETURN (-1)
9690 END
9691
9692 SET @LegsCIID = @@IDENTITY
9693
9694END
9695ELSE
9696BEGIN /* ì—¬ìžì¼ 경우 */
9697
9698 /* Chest */
9699 SET @ChestItemID =
9700 CASE @Costume
9701 WHEN 0 THEN 21501
9702 WHEN 1 THEN 21501
9703 WHEN 2 THEN 21501
9704 WHEN 3 THEN 21501
9705 WHEN 4 THEN 21501
9706 WHEN 5 THEN 21501
9707 END
9708
9709
9710 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9711 IF 0 <> @@ERROR BEGIN
9712 ROLLBACK TRAN
9713 RETURN (-1)
9714 END
9715 SET @ChestCIID = @@IDENTITY
9716
9717 /* Legs */
9718 SET @LegsItemID =
9719 CASE @Costume
9720 WHEN 0 THEN 23501
9721 WHEN 1 THEN 23501
9722 WHEN 2 THEN 23501
9723 WHEN 3 THEN 23501
9724 WHEN 4 THEN 23501
9725 WHEN 5 THEN 23501
9726 END
9727
9728
9729 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9730 IF 0 <> @@ERROR BEGIN
9731 ROLLBACK TRAN
9732 RETURN (-1)
9733 END
9734 SET @LegsCIID = @@IDENTITY
9735
9736END
9737
9738UPDATE Character
9739SET chest_slot = @ChestCIID, legs_slot = @LegsCIID, melee_slot = @MeleeCIID,
9740 primary_slot = @PrimaryCIID, secondary_slot = @SecondaryCIID, custom1_slot = @Custom1CIID,
9741 custom2_slot = @Custom2CIID,
9742 chest_itemid = @ChestItemID, legs_itemid = @LegsItemID, melee_itemid = @MeleeItemID,
9743 primary_itemid = @PrimaryItemID, secondary_itemid = @SecondaryItemID, custom1_itemid = @Custom1ItemID,
9744 custom2_itemid = @Custom2ItemID
9745WHERE CID=@CharIdent
9746IF 0 = @@ROWCOUNT BEGIN
9747 ROLLBACK TRAN
9748 RETURN (-1)
9749END
9750COMMIT TRAN
9751
9752
9753
9754
9755
9756
9757GO
9758/****** Object: StoredProcedure [dbo].[spInsertCharItem] Script Date: 28-05-2018 18:12:28 ******/
9759SET ANSI_NULLS ON
9760GO
9761SET QUOTED_IDENTIFIER ON
9762GO
9763
9764
9765/* ìºë¦í„° ì•„ì´í…œ 추가 - 땜빵 */
9766CREATE PROC [dbo].[spInsertCharItem]
9767 @CID int,
9768 @ItemID int
9769AS
9770SET NOCOUNT ON
9771
9772DECLARE @OrderCIID int
9773DECLARE @varBP int
9774-- 땜빵
9775SELECT @varBP = BP FROM Character where CID=@CID
9776IF @varBP < 0
9777BEGIN
9778 UPDATE Character SET BP=0 WHERE CID=@CID
9779 RETURN (-1)
9780END
9781
9782
9783BEGIN TRAN
9784INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
9785IF 0 <> @@ERROR BEGIN
9786 ROLLBACK TRAN
9787 RETURN (-1)
9788END
9789COMMIT TRAN
9790
9791SET @OrderCIID = @@IDENTITY
9792SELECT @OrderCIID as ORDERCIID
9793
9794
9795
9796
9797
9798
9799
9800GO
9801/****** Object: StoredProcedure [dbo].[spInsertCharMakingLog] Script Date: 28-05-2018 18:12:28 ******/
9802SET ANSI_NULLS ON
9803GO
9804SET QUOTED_IDENTIFIER ON
9805GO
9806
9807
9808
9809/* ìºë¦í„° ìƒì„± 로그 */
9810CREATE PROC [dbo].[spInsertCharMakingLog]
9811 @AID int,
9812 @CharName varchar(32),
9813 @Type varchar(20)
9814AS
9815SET NOCOUNT ON
9816BEGIN TRAN
9817INSERT INTO CharacterMakingLog (AID, CharName, Type, Date)
9818VALUES (@AID, @CharName, @Type, GETDATE())
9819IF 0 <> @@ERROR BEGIN
9820 ROLLBACK TRAN
9821 RETURN
9822END
9823COMMIT TRAN
9824
9825
9826
9827
9828
9829GO
9830/****** Object: StoredProcedure [dbo].[spInsertConnLog] Script Date: 28-05-2018 18:12:28 ******/
9831SET ANSI_NULLS ON
9832GO
9833SET QUOTED_IDENTIFIER OFF
9834GO
9835
9836CREATE PROC [dbo].[spInsertConnLog]
9837 @AID int
9838, @IPPart1 tinyint
9839, @IPPart2 tinyint
9840, @IPPart3 tinyint
9841, @IPPart4 tinyint
9842, @CountryCode3 char(3)
9843AS
9844 SET NOCOUNT ON
9845 INSERT INTO LogDB.game.ConnLog( AID, Time, IPPart1, IPPart2, IPPart3, IPPart4, CountryCode3)
9846 VALUES (@AID, GETDATE(), @IPPart1, @IPPart2, @IPPart3, @IPPart4, @CountryCode3)
9847
9848
9849
9850
9851GO
9852/****** Object: StoredProcedure [dbo].[spInsertEvent] Script Date: 28-05-2018 18:12:28 ******/
9853SET ANSI_NULLS ON
9854GO
9855SET QUOTED_IDENTIFIER ON
9856GO
9857
9858CREATE PROC [dbo].[spInsertEvent]
9859 @AID int
9860, @CID int
9861, @EventName varchar(24)
9862AS
9863 SET NOCOUNT ON
9864 INSERT INTO Event( AID, CID, RegDate, Checked, EventName )
9865 VALUES (@AID, @CID, GETDATE(), 0, @EventName)
9866
9867
9868
9869
9870
9871GO
9872/****** Object: StoredProcedure [dbo].[spInsertGameLog] Script Date: 28-05-2018 18:12:28 ******/
9873SET ANSI_NULLS ON
9874GO
9875SET QUOTED_IDENTIFIER ON
9876GO
9877
9878
9879
9880/* 게임 로그 추가 */
9881CREATE PROC [dbo].[spInsertGameLog]
9882 @GameName varchar(64),
9883 @Map varchar(32),
9884 @GameType varchar(24),
9885 @Round int,
9886 @MasterCID int,
9887 @PlayerCount tinyint,
9888 @Players varchar(1000)
9889
9890AS
9891SET NOCOUNT ON
9892BEGIN TRAN
9893INSERT INTO GameLog (GameName, Map, GameType, Round, MasterCID, StartTime, PlayerCount, Players)
9894VALUES (@GameName, @Map, @GameType, @Round, @MasterCID, GETDATE(), @PlayerCount, @Players)
9895IF 0 <> @@ERROR BEGIN
9896 ROLLBACK TRAN
9897 RETURN
9898END
9899COMMIT TRAN
9900
9901
9902
9903
9904
9905GO
9906/****** Object: StoredProcedure [dbo].[spInsertItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
9907SET ANSI_NULLS ON
9908GO
9909SET QUOTED_IDENTIFIER ON
9910GO
9911
9912
9913
9914/* ì•„ì´í…œ 구매(바운티) 로그 */
9915CREATE PROC [dbo].[spInsertItemPurchaseLogByBounty]
9916 @ItemID int,
9917 @CID int,
9918 @Bounty int,
9919 @CharBounty int,
9920 @Type varchar(20)
9921AS
9922SET NOCOUNT ON
9923INSERT INTO ItemPurchaseLogByBounty
9924 (ItemID, CID, Date, Bounty, CharBounty, Type)
9925VALUES
9926 (@ItemID, @CID, GETDATE(), @Bounty, @CharBounty, @Type)
9927
9928
9929
9930
9931
9932GO
9933/****** Object: StoredProcedure [dbo].[spInsertKillLog] Script Date: 28-05-2018 18:12:28 ******/
9934SET ANSI_NULLS ON
9935GO
9936SET QUOTED_IDENTIFIER ON
9937GO
9938
9939
9940
9941/* 킬 로그 추가 */
9942CREATE PROC [dbo].[spInsertKillLog]
9943 @AttackerCID int,
9944 @VictimCID int
9945AS
9946SET NOCOUNT ON
9947BEGIN TRAN
9948INSERT INTO KillLog (AttackerCID, VictimCID, Time)
9949VALUES (@AttackerCID, @VictimCID, GETDATE())
9950IF 0 <> @@ERROR BEGIN
9951 ROLLBACK TRAN
9952 RETURN
9953END
9954COMMIT TRAN
9955
9956
9957
9958
9959
9960GO
9961/****** Object: StoredProcedure [dbo].[spInsertLevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
9962SET ANSI_NULLS ON
9963GO
9964SET QUOTED_IDENTIFIER ON
9965GO
9966
9967
9968
9969
9970-- ë ˆë²¨ì—… 로그 추가
9971CREATE PROC [dbo].[spInsertLevelUpLog]
9972 @CID int,
9973 @Level smallint,
9974 @BP int,
9975 @KillCount int,
9976 @DeathCount int,
9977 @PlayTime int
9978AS
9979SET NOCOUNT ON
9980BEGIN TRAN
9981 INSERT INTO LevelUpLog(CID, Level, BP, KillCount, DeathCount, PlayTime, Date)
9982 VALUES (@CID, @Level, @BP, @KillCount, @DeathCount, @PlayTime, GETDATE())
9983 IF 0 <> @@ERROR BEGIN
9984 ROLLBACK TRAN
9985 RETURN
9986 END
9987COMMIT TRAN
9988
9989
9990
9991
9992
9993GO
9994/****** Object: StoredProcedure [dbo].[spInsertLocatorLog] Script Date: 28-05-2018 18:12:28 ******/
9995SET ANSI_NULLS ON
9996GO
9997SET QUOTED_IDENTIFIER ON
9998GO
9999
10000CREATE PROC [dbo].[spInsertLocatorLog]
10001 @LocatorID int
10002, @CountryCode3 varchar(3)
10003, @Count int
10004AS
10005 SET NOCOUNT ON
10006 INSERT INTO LogDB.game.LocatorLog(LocatorID, CountryCode3, Count, RegDate)
10007 VALUES (@LocatorID, @CountryCode3, @Count, GETDATE())
10008
10009
10010
10011
10012
10013GO
10014/****** Object: StoredProcedure [dbo].[spInsertPlayerLog] Script Date: 28-05-2018 18:12:28 ******/
10015SET ANSI_NULLS ON
10016GO
10017SET QUOTED_IDENTIFIER ON
10018GO
10019
10020
10021/* í”Œë ˆì´ì–´ 로그 */
10022CREATE PROC [dbo].[spInsertPlayerLog]
10023 @CID int,
10024 @PlayTime int,
10025 @Kills int,
10026 @Deaths int,
10027 @XP int,
10028 @TotalXP int
10029AS
10030SET NOCOUNT ON
10031BEGIN TRAN
10032INSERT INTO PlayerLog (CID, DisTime, PlayTime, Kills, Deaths, XP, TotalXP)
10033VALUES (@CID, GETDATE(), @PlayTime, @Kills, @Deaths, @XP, @TotalXP)
10034IF 0 <> @@ERROR BEGIN
10035 ROLLBACK TRAN
10036 RETURN
10037END
10038COMMIT TRAN
10039
10040
10041
10042
10043
10044GO
10045/****** Object: StoredProcedure [dbo].[spInsertQuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
10046SET ANSI_NULLS ON
10047GO
10048SET QUOTED_IDENTIFIER ON
10049GO
10050
10051
10052-- 퀘스트 게임 로그 ì •ë³´ ì €ìž¥ í”„ë¡œì‹œì ¸.
10053CREATE PROC [dbo].[spInsertQuestGameLog]
10054 @GameName varchar(64)
10055, @Master int
10056, @Player1 int
10057, @Player2 int
10058, @Player3 int
10059, @TotalQItemCount smallint
10060, @ScenarioID smallint
10061, @GamePlayTime tinyint
10062AS
10063SET NOCOUNT ON
10064
10065BEGIN TRAN
10066 INSERT INTO QuestGameLog(GameName, Master, Player1, Player2, Player3, TotalQItemCount, ScenarioID, StartTime, EndTime)
10067 VALUES (@GameName, @Master, @Player1, @Player2, @Player3, @TotalQItemCount, @ScenarioID, DATEADD(n, -(@GamePlayTime), GETDATE()), GETDATE() )
10068 IF 0 <> @@ERROR BEGIN -- 여기 추가.
10069 ROLLBACK TRAN
10070 RETURN
10071 END
10072
10073 SELECT @@IDENTITY AS 'ORDERQGLID'
10074COMMIT TRAN
10075
10076
10077
10078
10079
10080
10081GO
10082/****** Object: StoredProcedure [dbo].[spInsertQUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
10083SET ANSI_NULLS ON
10084GO
10085SET QUOTED_IDENTIFIER ON
10086GO
10087
10088
10089-- 퀘스트 ìœ ë‹ˆí¬ ì•„ì´í…œ ì €ìž¥ í”„ë¡œì‹œì ¸.
10090CREATE PROC [dbo].[spInsertQUniqueItemLog]
10091 @QGLID int
10092, @CID int
10093, @QIID int
10094AS
10095BEGIN
10096 SET NOCOUNT ON
10097 INSERT INTO QUniqueItemLog(QGLID, CID, QIID) VALUES (@QGLID, @CID, @QIID)
10098END
10099
10100
10101
10102
10103
10104
10105GO
10106/****** Object: StoredProcedure [dbo].[spInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10107SET ANSI_NULLS ON
10108GO
10109SET QUOTED_IDENTIFIER ON
10110GO
10111
10112
10113-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10114CREATE PROC [dbo].[spInsertRentCashSetShopPrice]
10115 @CSSID int,
10116 @RentHourPeriod smallint,
10117 @CashPrice int
10118AS
10119 SET NOCOUNT ON
10120 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
10121 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
10122
10123
10124
10125
10126
10127GO
10128/****** Object: StoredProcedure [dbo].[spInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10129SET ANSI_NULLS ON
10130GO
10131SET QUOTED_IDENTIFIER ON
10132GO
10133
10134
10135-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10136CREATE PROC [dbo].[spInsertRentCashShopPrice]
10137 @CSID int
10138, @RentHourPeriod smallint
10139, @CashPrice int
10140AS
10141 SET NOCOUNT ON
10142 INSERT INTO RentCashShopPrice (CSID, RentHourPeriod, CashPrice)
10143 VALUES (@CSID, @RentHourPeriod, @CashPrice)
10144
10145
10146
10147
10148
10149GO
10150/****** Object: StoredProcedure [dbo].[spInsertServerLog] Script Date: 28-05-2018 18:12:28 ******/
10151SET ANSI_NULLS ON
10152GO
10153SET QUOTED_IDENTIFIER OFF
10154GO
10155
10156CREATE PROC [dbo].[spInsertServerLog]
10157 @ServerID smallint
10158, @PlayerCount smallint
10159, @GameCount smallint
10160, @BlockCount int
10161, @NonBlockCount int
10162AS
10163 SET NOCOUNT ON
10164 INSERT INTO ServerLog(ServerID, PlayerCount,
10165 GameCount, Time, BlockCount, NonBlockCount)
10166 VALUES (@ServerID, @PlayerCount, @GameCount,
10167 GETDATE(), @BlockCount, @NonBlockCount )
10168
10169
10170
10171
10172GO
10173/****** Object: StoredProcedure [dbo].[spIPFltCheckIsDuplicateRange] Script Date: 28-05-2018 18:12:28 ******/
10174SET ANSI_NULLS ON
10175GO
10176SET QUOTED_IDENTIFIER OFF
10177GO
10178
10179CREATE PROC [dbo].[spIPFltCheckIsDuplicateRange]
10180 @IPFrom bigint
10181, @IPTo bigint
10182, @Ret int OUTPUT
10183AS
10184 SET NOCOUNT ON
10185 IF EXISTS (SELECT CountryCode3 FROM CustomIP(NOLOCK)
10186 WHERE (IPFrom <= @IPFrom AND IPTo >= @IPFrom) OR
10187 (IPFrom <= @IPTo AND IPTo >= @IPTo)) SET @Ret = 1
10188 ELSE SET @Ret = 0
10189
10190
10191
10192
10193GO
10194/****** Object: StoredProcedure [dbo].[spIPFltDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10195SET ANSI_NULLS ON
10196GO
10197SET QUOTED_IDENTIFIER OFF
10198GO
10199
10200CREATE PROC [dbo].[spIPFltDeleteCustomIP]
10201 @IPFrom varchar(15)
10202, @IPTo varchar(15)
10203, @Ret int OUTPUT
10204AS
10205 SET NOCOUNT ON
10206 DECLARE @TmpIPFrom BIGINT
10207 DECLARE @TmpIPTo BIGINT
10208
10209 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10210 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10211 IF @TmpIPFrom > @TmpIPTo BEGIN
10212 SET @Ret = 0
10213 RETURN @Ret
10214 END
10215
10216 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10217 IF 0 <> @@ERROR SET @Ret = 0
10218 ELSE SET @Ret = 1
10219 RETURN @Ret
10220
10221
10222
10223
10224GO
10225/****** Object: StoredProcedure [dbo].[spIPFltGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
10226SET ANSI_NULLS ON
10227GO
10228SET QUOTED_IDENTIFIER OFF
10229GO
10230
10231CREATE PROC [dbo].[spIPFltGetBlockCountryCodeList]
10232AS
10233 SET NOCOUNT ON
10234 SELECT CountryCode3, RoutingURL, IsBlock
10235 FROM BlockCountryCode(NOLOCK)
10236 ORDER BY CountryCode3
10237
10238
10239
10240
10241GO
10242/****** Object: StoredProcedure [dbo].[spIPFltGetCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10243SET ANSI_NULLS ON
10244GO
10245SET QUOTED_IDENTIFIER OFF
10246GO
10247
10248CREATE PROC [dbo].[spIPFltGetCountryCode]
10249AS
10250 SET NOCOUNT ON
10251 SELECT CountryCode3, CountryName
10252 FROM CountryCode(NOLOCK)
10253 ORDER BY CountryCode3 ASC
10254
10255
10256
10257
10258GO
10259/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10260SET ANSI_NULLS ON
10261GO
10262SET QUOTED_IDENTIFIER OFF
10263GO
10264
10265CREATE PROC [dbo].[spIPFltGetCustomIP]
10266 @IP varchar(15)
10267AS
10268 SET NOCOUNT ON
10269 DECLARE @TmpIP bigint
10270
10271 SET @TmpIP = TestDB.game.inet_aton( @IP )
10272
10273 SELECT IPFrom, IPTo, IsBlock, Comment, RegDate
10274 FROM CustomIP(NOLOCK)
10275 WHERE IPFrom <= @TmpIP AND IPTo >= @TmpIP
10276
10277
10278
10279
10280GO
10281/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIPList] Script Date: 28-05-2018 18:12:28 ******/
10282SET ANSI_NULLS ON
10283GO
10284SET QUOTED_IDENTIFIER OFF
10285GO
10286
10287CREATE PROC [dbo].[spIPFltGetCustomIPList]
10288AS
10289 SET NOCOUNT ON
10290 SELECT IPFrom, IPTo, IsBlock, CountryCode3, Comment FROM CustomIP(NOLOCK)
10291 ORDER BY IPFrom
10292
10293
10294
10295
10296GO
10297/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
10298SET ANSI_NULLS ON
10299GO
10300SET QUOTED_IDENTIFIER OFF
10301GO
10302
10303CREATE PROC [dbo].[spIPFltGetIPtoCountry]
10304 @IP char(15)
10305AS
10306 SET NOCOUNT ON
10307 DECLARE @IPNumber BIGINT
10308 SET @IPNumber = TestDB.game.inet_aton( @IP )
10309
10310 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
10311 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10312
10313
10314
10315
10316GO
10317/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10318SET ANSI_NULLS ON
10319GO
10320SET QUOTED_IDENTIFIER OFF
10321GO
10322
10323CREATE PROC [dbo].[spIPFltGetIPtoCountryCode]
10324 @IP char(15)
10325AS
10326 SET NOCOUNT ON
10327 DECLARE @IPNumber BIGINT
10328 SET @IPNumber = TestDB.game.inet_aton( @IP )
10329
10330 SELECT CountryCode3 FROM IPtoCountry(NOLOCK)
10331 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10332
10333
10334
10335
10336GO
10337/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
10338SET ANSI_NULLS ON
10339GO
10340SET QUOTED_IDENTIFIER OFF
10341GO
10342
10343CREATE PROC [dbo].[spIPFltGetIPtoCountryList]
10344AS
10345 SET NOCOUNT ON
10346 SELECT IPFrom, IPTo, CountryCode3
10347 FROM IPtoCountry(NOLOCK)
10348 ORDER BY IPFrom
10349
10350
10351
10352
10353GO
10354/****** Object: StoredProcedure [dbo].[spIPFltInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10355SET ANSI_NULLS ON
10356GO
10357SET QUOTED_IDENTIFIER OFF
10358GO
10359
10360/*
10361 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10362 */
10363CREATE PROC [dbo].[spIPFltInsertCustomIP]
10364 @IPFrom varchar(15)
10365, @IPTo varchar(15)
10366, @IsBlock tinyint
10367, @CountryCode3 char(3)
10368, @Comment varchar(128)
10369, @Ret int OUTPUT
10370AS
10371 SET NOCOUNT ON
10372 DECLARE @DupRet int
10373 DECLARE @TmpIPFrom BIGINT
10374 DECLARE @TmpIPTo BIGINT
10375
10376 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10377 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10378 IF @TmpIPFrom > @TmpIPTo BEGIN
10379 SET @Ret = 3
10380 RETURN @Ret
10381 END
10382
10383 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
10384 IF 1 = @DupRet BEGIN
10385 SET @Ret = 2
10386 RETURN @Ret
10387 END
10388
10389 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
10390 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
10391 IF 0 <> @@ERROR SET @Ret = 0
10392 ELSE SET @Ret = 1
10393 RETURN @Ret
10394
10395
10396
10397
10398GO
10399/****** Object: StoredProcedure [dbo].[spIPFltUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10400SET ANSI_NULLS ON
10401GO
10402SET QUOTED_IDENTIFIER OFF
10403GO
10404
10405/*
10406 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10407 */
10408CREATE PROC [dbo].[spIPFltUpdateCustomIP]
10409 @IPFrom varchar(15)
10410, @IPTo varchar(15)
10411, @NewIPFrom varchar(15)
10412, @NewIPTo varchar(15)
10413, @IsBlock tinyint
10414, @CountryCode3 char(3)
10415, @Comment varchar(128)
10416, @Ret int OUTPUT
10417AS
10418 SET NOCOUNT ON
10419 DECLARE @DupRet bigint
10420 DECLARE @TmpIPFrom BIGINT
10421 DECLARE @TmpIPTo BIGINT
10422 DECLARE @TmpNewIPFrom bigint
10423 DECLARE @TmpNewIPTo bigint
10424
10425 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10426 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10427
10428 IF @TmpIPFrom > @TmpIPTo BEGIN
10429 SET @Ret = 3
10430 RETURN @Ret
10431 END
10432
10433 SET @TmpNewIPFrom = TestDB.game.inet_aton( @NewIPFrom )
10434 SET @TmpNewIPTo = TestDB.game.inet_aton( @NewIPTo )
10435
10436 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
10437 SET @Ret = 0
10438 RETURN @Ret
10439 END
10440
10441 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
10442 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
10443 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
10444 IF 1 = @DupRet BEGIN
10445 SET @Ret = 2
10446 RETURN @Ret
10447 END
10448 END
10449
10450 UPDATE CustomIP
10451 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
10452 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
10453 Comment = @Comment
10454 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10455 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
10456 ELSE SET @Ret = 1
10457 RETURN @Ret
10458
10459
10460
10461
10462GO
10463/****** Object: StoredProcedure [dbo].[spIsExistCharName] Script Date: 28-05-2018 18:12:28 ******/
10464SET ANSI_NULLS ON
10465GO
10466SET QUOTED_IDENTIFIER ON
10467GO
10468
10469
10470-- ìºë¦í„° ì´ë¦„ 중복 검사
10471CREATE PROC [dbo].[spIsExistCharName]
10472 @CharName varchar(24)
10473AS
10474SET NOCOUNT ON
10475IF EXISTS (SELECT TOP 1 CID FROM Character(nolock) where (Name=@CharName) AND (DeleteFlag=0))
10476BEGIN
10477 SELECT 1 AS Ret
10478END
10479ELSE
10480BEGIN
10481 SELECT 0 AS Ret
10482END
10483
10484
10485
10486
10487
10488GO
10489/****** Object: StoredProcedure [dbo].[spItemList] Script Date: 28-05-2018 18:12:28 ******/
10490SET ANSI_NULLS ON
10491GO
10492SET QUOTED_IDENTIFIER ON
10493GO
10494
10495create procedure [dbo].[spItemList]
10496 @ItemType int,
10497 @ResSex int,
10498 @ResLevel int,
10499 @ResText nvarchar(100),
10500
10501 @Page int,
10502 @PageSize int,
10503 @PageCount int output
10504AS
10505set NoCount On
10506
10507declare @Rows int
10508declare @ViewCount int
10509select @Rows = @Page * @PageSize
10510declare @PageHead INT
10511declare @RowCount INT
10512
10513
10514if @ItemType = -1 /* ITEMTYPE = -1 */
10515 begin
10516 if @ResSex = -1 /* ITEMTYPE = -1 RESSEX = -1 */
10517 begin
10518 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 */
10519 begin
10520 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10521 begin
10522 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10523 from CashShop cs(nolock), viewItem i(nolock)
10524 where i.ItemID = cs.ItemID and cs.Opened=1
10525
10526 select @RowCount = ((@Page -1) * @PageSize + 1)
10527 set rowcount @RowCount
10528 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10529 where cs.ItemID=i.ItemID and cs.Opened=1
10530 order by cs.csid desc
10531
10532 set rowcount @PageSize
10533 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10534 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10535 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10536 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10537 cs.RentType as RentType
10538 from CashShop cs(nolock), viewItem i(nolock)
10539 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10540 order by cs.csid desc
10541 end
10542 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10543 begin
10544 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10545 from CashShop cs(nolock), viewItem i(nolock)
10546 where i.ItemID = cs.ItemID and cs.Opened=1
10547 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10548
10549 select @RowCount = ((@Page -1) * @PageSize + 1)
10550 set rowcount @RowCount
10551 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10552 where cs.ItemID=i.ItemID and cs.Opened=1
10553 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10554 order by cs.csid desc
10555
10556 set rowcount @PageSize
10557 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10558 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10559 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10560 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10561 cs.RentType as RentType
10562 from CashShop cs(nolock), viewItem i(nolock)
10563 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10564 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10565 order by cs.csid desc
10566 end
10567 end
10568 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 */
10569 begin
10570 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10571 begin
10572 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10573 from CashShop cs(nolock), viewItem i(nolock)
10574 where i.ItemID = cs.ItemID and cs.Opened=1
10575 and i.ResLevel <= @ResLevel
10576
10577 select @RowCount = ((@Page -1) * @PageSize + 1)
10578 set rowcount @RowCount
10579 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10580 where cs.ItemID=i.ItemID and cs.Opened=1
10581 and i.ResLevel <= @ResLevel
10582 order by cs.csid desc
10583
10584 set rowcount @PageSize
10585 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10586 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10587 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10588 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10589 cs.RentType as RentType
10590 from CashShop cs(nolock), viewItem i(nolock)
10591 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10592 and i.ResLevel <= @ResLevel
10593 order by cs.csid desc
10594 end
10595 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10596 begin
10597 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10598 from CashShop cs(nolock), viewItem i(nolock)
10599 where i.ItemID = cs.ItemID and cs.Opened=1
10600 and i.ResLevel <= @ResLevel
10601 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10602
10603 select @RowCount = ((@Page -1) * @PageSize + 1)
10604 set rowcount @RowCount
10605 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10606 where cs.ItemID=i.ItemID and cs.Opened=1
10607 and i.ResLevel <= @ResLevel
10608 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10609 order by cs.csid desc
10610
10611 set rowcount @PageSize
10612 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10613 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10614 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10615 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10616 cs.RentType as RentType
10617 from CashShop cs(nolock), viewItem i(nolock)
10618 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10619 and i.ResLevel <= @ResLevel
10620 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10621 order by cs.csid desc
10622 end
10623 end
10624 end
10625 else /* ITEMTYPE = -1 RESSEX <> -1 */
10626 begin
10627 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 */
10628 begin
10629 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10630 begin
10631 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10632 from CashShop cs(nolock), viewItem i(nolock)
10633 where i.ItemID = cs.ItemID and cs.Opened=1
10634 and i.ResSex = @ResSex
10635
10636 select @RowCount = ((@Page -1) * @PageSize + 1)
10637 set rowcount @RowCount
10638 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10639 where cs.ItemID=i.ItemID and cs.Opened=1
10640 and i.ResSex = @ResSex
10641 order by cs.csid desc
10642
10643 set rowcount @PageSize
10644 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10645 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10646 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10647 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10648 cs.RentType as RentType
10649 from CashShop cs(nolock), viewItem i(nolock)
10650 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10651 and i.ResSex = @ResSex
10652 order by cs.csid desc
10653 end
10654 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10655 begin
10656 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10657 from CashShop cs(nolock), viewItem i(nolock)
10658 where i.ItemID = cs.ItemID and cs.Opened=1
10659 and i.ResSex = @ResSex
10660 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10661
10662 select @RowCount = ((@Page -1) * @PageSize + 1)
10663 set rowcount @RowCount
10664 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10665 where cs.ItemID=i.ItemID and cs.Opened=1
10666 and i.ResSex = @ResSex
10667 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10668 order by cs.csid desc
10669
10670 set rowcount @PageSize
10671 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10672 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10673 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10674 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10675 cs.RentType as RentType
10676 from CashShop cs(nolock), viewItem i(nolock)
10677 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10678 and i.ResSex = @ResSex
10679 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10680 order by cs.csid desc
10681 end
10682 end
10683 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 */
10684 begin
10685 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10686 begin
10687 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10688 from CashShop cs(nolock), viewItem i(nolock)
10689 where i.ItemID = cs.ItemID and cs.Opened=1
10690 and i.ResSex = @ResSex
10691 and i.ResLevel <= @ResLevel
10692
10693 select @RowCount = ((@Page -1) * @PageSize + 1)
10694 set rowcount @RowCount
10695 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10696 where cs.ItemID=i.ItemID and cs.Opened=1
10697 and i.ResSex = @ResSex
10698 and i.ResLevel <= @ResLevel
10699 order by cs.csid desc
10700
10701 set rowcount @PageSize
10702 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10703 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10704 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10705 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10706 cs.RentType as RentType
10707 from CashShop cs(nolock), viewItem i(nolock)
10708 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10709 and i.ResSex = @ResSex
10710 and i.ResLevel <= @ResLevel
10711 order by cs.csid desc
10712 end
10713 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10714 begin
10715 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10716 from CashShop cs(nolock), viewItem i(nolock)
10717 where i.ItemID = cs.ItemID and cs.Opened=1
10718 and i.ResSex = @ResSex
10719 and i.ResLevel <= @ResLevel
10720 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10721
10722 select @RowCount = ((@Page -1) * @PageSize + 1)
10723 set rowcount @RowCount
10724 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10725 where cs.ItemID=i.ItemID and cs.Opened=1
10726 and i.ResSex = @ResSex
10727 and i.ResLevel <= @ResLevel
10728 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10729 order by cs.csid desc
10730
10731 set rowcount @PageSize
10732 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10733 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10734 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10735 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10736 cs.RentType as RentType
10737 from CashShop cs(nolock), viewItem i(nolock)
10738 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10739 and i.ResSex = @ResSex
10740 and i.ResLevel <= @ResLevel
10741 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10742 order by cs.csid desc
10743 end
10744 end
10745 end
10746 end
10747else
10748 begin
10749 if @ResSex = -1 /* ITEMTYPE <> -1 RESSEX = -1 */
10750 begin
10751 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 */
10752 begin
10753 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10754 begin
10755 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10756 from CashShop cs(nolock), viewItem i(nolock)
10757 where i.ItemID = cs.ItemID and cs.Opened=1
10758 and i.SlotEx = @ItemType
10759
10760 select @RowCount = ((@Page -1) * @PageSize + 1)
10761 set rowcount @RowCount
10762 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10763 where cs.ItemID=i.ItemID and cs.Opened=1
10764 and i.SlotEx = @ItemType
10765 order by cs.csid desc
10766
10767 set rowcount @PageSize
10768 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10769 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10770 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10771 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10772 cs.RentType as RentType
10773 from CashShop cs(nolock), viewItem i(nolock)
10774 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10775 and i.SlotEx = @ItemType
10776 order by cs.csid desc
10777 end
10778 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10779 begin
10780 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10781 from CashShop cs(nolock), viewItem i(nolock)
10782 where i.ItemID = cs.ItemID and cs.Opened=1
10783 and i.SlotEx = @ItemType
10784 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10785
10786 select @RowCount = ((@Page -1) * @PageSize + 1)
10787 set rowcount @RowCount
10788 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10789 where cs.ItemID=i.ItemID and cs.Opened=1
10790 and i.SlotEx = @ItemType
10791 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10792 order by cs.csid desc
10793
10794 set rowcount @PageSize
10795 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10796 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10797 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10798 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10799 cs.RentType as RentType
10800 from CashShop cs(nolock), viewItem i(nolock)
10801 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10802 and i.SlotEx = @ItemType
10803 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10804 order by cs.csid desc
10805 end
10806 end
10807 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 */
10808 begin
10809 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10810 begin
10811 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10812 from CashShop cs(nolock), viewItem i(nolock)
10813 where i.ItemID = cs.ItemID and cs.Opened=1
10814 and i.SlotEx = @ItemType
10815 and i.ResLevel <= @ResLevel
10816
10817 select @RowCount = ((@Page -1) * @PageSize + 1)
10818 set rowcount @RowCount
10819 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10820 where cs.ItemID=i.ItemID and cs.Opened=1
10821 and i.SlotEx = @ItemType
10822 and i.ResLevel <= @ResLevel
10823 order by cs.csid desc
10824
10825 set rowcount @PageSize
10826 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10827 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10828 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10829 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10830 cs.RentType as RentType
10831 from CashShop cs(nolock), viewItem i(nolock)
10832 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10833 and i.SlotEx = @ItemType
10834 and i.ResLevel <= @ResLevel
10835 order by cs.csid desc
10836 end
10837 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10838 begin
10839 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10840 from CashShop cs(nolock), viewItem i(nolock)
10841 where i.ItemID = cs.ItemID and cs.Opened=1
10842 and i.SlotEx = @ItemType
10843 and i.ResLevel <= @ResLevel
10844 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10845
10846 select @RowCount = ((@Page -1) * @PageSize + 1)
10847 set rowcount @RowCount
10848 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10849 where cs.ItemID=i.ItemID and cs.Opened=1
10850 and i.SlotEx = @ItemType
10851 and i.ResLevel <= @ResLevel
10852 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10853 order by cs.csid desc
10854
10855 set rowcount @PageSize
10856 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10857 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10858 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10859 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10860 cs.RentType as RentType
10861 from CashShop cs(nolock), viewItem i(nolock)
10862 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10863 and i.SlotEx = @ItemType
10864 and i.ResLevel <= @ResLevel
10865 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10866 order by cs.csid desc
10867 end
10868 end
10869 end
10870 else /* ITEMTYPE <> -1 RESSEX <> -1 */
10871 begin
10872 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 */
10873 begin
10874 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10875 begin
10876 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10877 from CashShop cs(nolock), viewItem i(nolock)
10878 where i.ItemID = cs.ItemID and cs.Opened=1
10879 and i.SlotEx = @ItemType
10880 and i.ResSex = @ResSex
10881
10882 select @RowCount = ((@Page -1) * @PageSize + 1)
10883 set rowcount @RowCount
10884 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10885 where cs.ItemID=i.ItemID and cs.Opened=1
10886 and i.SlotEx = @ItemType
10887 and i.ResSex = @ResSex
10888 order by cs.csid desc
10889
10890 set rowcount @PageSize
10891 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10892 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10893 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10894 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10895 cs.RentType as RentType
10896 from CashShop cs(nolock), viewItem i(nolock)
10897 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10898 and i.SlotEx = @ItemType
10899 and i.ResSex = @ResSex
10900 order by cs.csid desc
10901 end
10902 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10903 begin
10904 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10905 from CashShop cs(nolock), viewItem i(nolock)
10906 where i.ItemID = cs.ItemID and cs.Opened=1
10907 and i.SlotEx = @ItemType
10908 and i.ResSex = @ResSex
10909 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10910
10911 select @RowCount = ((@Page -1) * @PageSize + 1)
10912 set rowcount @RowCount
10913 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10914 where cs.ItemID=i.ItemID and cs.Opened=1
10915 and i.SlotEx = @ItemType
10916 and i.ResSex = @ResSex
10917 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10918 order by cs.csid desc
10919
10920 set rowcount @PageSize
10921 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10922 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10923 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10924 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10925 cs.RentType as RentType
10926 from CashShop cs(nolock), viewItem i(nolock)
10927 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10928 and i.SlotEx = @ItemType
10929 and i.ResSex = @ResSex
10930 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10931 order by cs.csid desc
10932 end
10933 end
10934 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 */
10935 begin
10936 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10937 begin
10938 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10939 from CashShop cs(nolock), viewItem i(nolock)
10940 where i.ItemID = cs.ItemID and cs.Opened=1
10941 and i.SlotEx = @ItemType
10942 and i.ResSex = @ResSex
10943 and i.ResLevel <= @ResLevel
10944
10945 select @RowCount = ((@Page -1) * @PageSize + 1)
10946 set rowcount @RowCount
10947 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10948 where cs.ItemID=i.ItemID and cs.Opened=1
10949 and i.SlotEx = @ItemType
10950 and i.ResSex = @ResSex
10951 and i.ResLevel <= @ResLevel
10952 order by cs.csid desc
10953
10954 set rowcount @PageSize
10955 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10956 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10957 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10958 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10959 cs.RentType as RentType
10960 from CashShop cs(nolock), viewItem i(nolock)
10961 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10962 and i.SlotEx = @ItemType
10963 and i.ResSex = @ResSex
10964 and i.ResLevel <= @ResLevel
10965 order by cs.csid desc
10966 end
10967 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10968 begin
10969 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10970 from CashShop cs(nolock), viewItem i(nolock)
10971 where i.ItemID = cs.ItemID and cs.Opened=1
10972 and i.SlotEx = @ItemType
10973 and i.ResSex = @ResSex
10974 and i.ResLevel <= @ResLevel
10975 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10976
10977 select @RowCount = ((@Page -1) * @PageSize + 1)
10978 set rowcount @RowCount
10979 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10980 where cs.ItemID=i.ItemID and cs.Opened=1
10981 and i.SlotEx = @ItemType
10982 and i.ResSex = @ResSex
10983 and i.ResLevel <= @ResLevel
10984 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10985 order by cs.csid desc
10986
10987 set rowcount @PageSize
10988 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10989 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10990 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10991 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10992 cs.RentType as RentType
10993 from CashShop cs(nolock), viewItem i(nolock)
10994 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10995 and i.SlotEx = @ItemType
10996 and i.ResSex = @ResSex
10997 and i.ResLevel <= @ResLevel
10998 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10999 order by cs.csid desc
11000 end
11001 end
11002 end
11003 end
11004
11005
11006
11007
11008
11009GO
11010/****** Object: StoredProcedure [dbo].[spLeague_FetchLeagueInfo] Script Date: 28-05-2018 18:12:28 ******/
11011SET ANSI_NULLS ON
11012GO
11013SET QUOTED_IDENTIFIER ON
11014GO
11015
11016
11017CREATE PROC [dbo].[spLeague_FetchLeagueInfo]
11018AS
11019 RETURN
11020
11021
11022
11023
11024GO
11025/****** Object: StoredProcedure [dbo].[spLeague_GetCID] Script Date: 28-05-2018 18:12:28 ******/
11026SET ANSI_NULLS ON
11027GO
11028SET QUOTED_IDENTIFIER ON
11029GO
11030
11031
11032CREATE PROC [dbo].[spLeague_GetCID]
11033AS
11034 RETURN
11035
11036
11037
11038
11039
11040GO
11041/****** Object: StoredProcedure [dbo].[spPresentCashItem] Script Date: 28-05-2018 18:12:28 ******/
11042SET ANSI_NULLS ON
11043GO
11044SET QUOTED_IDENTIFIER ON
11045GO
11046
11047
11048
11049
11050--------------------------------------------------------------------------------
11051
11052
11053
11054-- ë‹¨ì¼ ì•„ì´í…œ ì„ ë¬¼í•˜ê¸°
11055CREATE PROC [dbo].[spPresentCashItem]
11056 @SenderUserID varchar(20)
11057, @ReceiverUserID varchar(20)
11058, @CSID int
11059, @Cash int
11060, @RentHourPeriod smallint = NULL
11061, @MobileCode char(16) = NULL
11062AS
11063 SET NoCount On
11064
11065 DECLARE @ItemID int
11066 DECLARE @ReceiverAID int
11067
11068 SELECT @ReceiverAID = AID FROM Account (NOLOCK) WHERE UserID = @ReceiverUserID
11069
11070 IF @ReceiverAID IS NULL
11071 BEGIN
11072 RETURN 0
11073 END
11074 ELSE
11075 BEGIN
11076 DECLARE @RentDate datetime
11077 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11078 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11079 BEGIN
11080 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11081 DECLARE @RentType TINYINT
11082 DECLARE @RCSPID INT
11083
11084 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
11085 IF @RentType = 1
11086 BEGIN
11087 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
11088 IF @RCSPID IS NULL
11089 BEGIN
11090 RETURN 0
11091 END
11092 END
11093
11094 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
11095 SET @RentDate = NULL
11096 END
11097 ELSE
11098 BEGIN
11099 SET @RentDate = GETDATE()
11100 END
11101
11102
11103 SELECT @ItemID = ItemID FROM CashShop (NOLOCK) WHERE CSID = @CSID
11104
11105 IF @ItemID IS NOT NULL
11106 BEGIN
11107 BEGIN TRAN
11108
11109 -- ì•„ì´í…œ ìƒì„±.
11110 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11111 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11112
11113 IF @@ERROR <> 0
11114 BEGIN
11115 ROLLBACK
11116 RETURN 0
11117 END
11118
11119 -- ì„ ë¬¼ 로그 ìƒì„±.
11120 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSID, Date, Cash, RentHourPeriod, MobileCode)
11121 VALUES (@SenderUserID, @ReceiverAID, @CSID, GETDATE(), @Cash, @RentHourPeriod, @MobileCode)
11122
11123 IF @@ERROR <> 0
11124 BEGIN
11125 ROLLBACK
11126 RETURN 0
11127 END
11128
11129 COMMIT TRAN
11130 END
11131 ELSE
11132 BEGIN
11133 RETURN 0
11134 END
11135
11136
11137 RETURN 1
11138 END
11139
11140
11141
11142
11143
11144
11145GO
11146/****** Object: StoredProcedure [dbo].[spPresentCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
11147SET ANSI_NULLS ON
11148GO
11149SET QUOTED_IDENTIFIER ON
11150GO
11151
11152
11153
11154--------------------------------------------------------------------------------
11155
11156
11157CREATE PROC [dbo].[spPresentCashSetItem]
11158 @SenderUserID varchar(20)
11159, @ReceiverUserID varchar(20)
11160, @CSSID int
11161, @Cash int
11162, @RentHourPeriod smallint = NULL
11163, @MobileCode char(16) = NULL
11164AS
11165 SET NoCount On
11166
11167 DECLARE @ReceiverAID int
11168
11169 SELECT @ReceiverAID = AID FROM Account WHERE UserID = @ReceiverUserID
11170
11171 IF @ReceiverAID IS NOT NULL
11172 BEGIN
11173 DECLARE @RentDate datetime
11174
11175 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11176 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11177 BEGIN
11178 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11179 DECLARE @RentType TINYINT
11180 DECLARE @RCSSPID INT
11181
11182 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
11183 IF @RentType = 1
11184 BEGIN
11185 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
11186 IF @RCSSPID IS NULL
11187 BEGIN
11188 RETURN 0
11189 END
11190 END
11191
11192 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
11193 SET @RentDate = NULL
11194 END
11195 ELSE
11196 BEGIN
11197 SET @RentDate = GETDATE()
11198 END
11199
11200
11201 BEGIN TRAN
11202 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
11203
11204 FOR
11205 SELECT CSID FROM CashSetItem WHERE CSSID = @CSSID
11206 FOR READ ONLY
11207
11208 OPEN curBuyCashSetItem
11209
11210 DECLARE @varCSID int
11211 DECLARE @ItemID int
11212
11213 FETCH FROM curBuyCashSetItem INTO @varCSID
11214
11215 WHILE @@FETCH_STATUS = 0
11216 BEGIN
11217 SELECT @ItemID = ItemID FROM CashShop WHERE CSID = @varCSID
11218
11219 IF @ItemID IS NOT NULL
11220 BEGIN
11221 -- ì•„ì´í…œ ìƒì„±.
11222 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11223 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11224
11225 IF @@ERROR <> 0
11226 BEGIN
11227 ROLLBACK
11228 CLOSE curBuyCashSetItem
11229 DEALLOCATE curBuyCashSetItem
11230 RETURN 0
11231 END
11232 END
11233
11234 FETCH FROM curBuyCashSetItem INTO @varCSID
11235 END
11236
11237 CLOSE curBuyCashSetItem
11238 DEALLOCATE curBuyCashSetItem
11239
11240 -- 셋트아ì´í…œ ì„ ë¬¼ 로그 ìƒì„±.
11241 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
11242 VALUES (@SenderUserID, @ReceiverAID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
11243
11244 IF @@ERROR <> 0
11245 BEGIN
11246 ROLLBACK
11247 RETURN 0
11248 END
11249
11250 COMMIT TRAN
11251 RETURN 1
11252
11253 END
11254 ELSE
11255 BEGIN
11256 RETURN 0
11257 END
11258
11259
11260
11261
11262
11263
11264GO
11265/****** Object: StoredProcedure [dbo].[spRegularTranslateServerLog] Script Date: 28-05-2018 18:12:28 ******/
11266SET ANSI_NULLS ON
11267GO
11268SET QUOTED_IDENTIFIER ON
11269GO
11270
11271
11272
11273CREATE PROC [dbo].[spRegularTranslateServerLog]
11274AS
11275 SET NOCOUNT ON
11276
11277 DECLARE @StartTime char(16)
11278 DECLARE @EndTime char(16)
11279
11280 SET @StartTime = CONVERT(char(13), DATEADD(hh, -1, GETDATE()), 120) + ':00'
11281 SET @EndTime = CONVERT(char(13), GETDATE(), 120) + ':00'
11282
11283 INSERT INTO LogDB.game.ServerLogStorage(ServerID
11284 , PlayerCount, GameCount, BlockCount, NonBlockCount
11285 , Time)
11286 SELECT ServerID, PlayerCount, GameCount, BlockCount, NonBlockCount, Time
11287 FROM TestDB.game.ServerLog(NOLOCK)
11288 WHERE ServerID < 200 AND Time >= @StartTime AND Time < @EndTime
11289 ORDER BY ServerID, Time
11290
11291
11292
11293
11294
11295
11296GO
11297/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRankIncrease] Script Date: 28-05-2018 18:12:28 ******/
11298SET ANSI_NULLS ON
11299GO
11300SET QUOTED_IDENTIFIER ON
11301GO
11302
11303
11304-- í´ëžœ ëží‚¹ ì¦ê°€ë¶„ ì—…ë°ì´íЏ - ë§¤ì¼ ìƒˆë²½ 12ì‹œì— ì—…ë°ì´íЏ
11305CREATE PROC [dbo].[spRegularUpdateClanRankIncrease]
11306AS
11307 SET NOCOUNT ON
11308
11309 -- 꼴등ëží‚¹ì„ 구한다.
11310 DECLARE @LowestRank int
11311 SELECT TOP 1 @LowestRank=Ranking FROM Clan
11312 WHERE DeleteFlag=0 AND Ranking>0
11313 order by ranking desc
11314
11315 IF @LowestRank is NULL SELECT @LowestRank = 0
11316
11317 UPDATE Clan
11318 SET RankIncrease=(LastDayRanking-Ranking)
11319 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking != 0
11320
11321 -- ì²˜ìŒ ëží‚¹ì— ì§„ìž…í–ˆì„ ê²½ìš°
11322 UPDATE Clan
11323 SET RankIncrease=@LowestRank-Ranking
11324 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking = 0
11325
11326 -- LastDayRanking ì—…ë°ì´íЏ
11327 UPDATE Clan
11328 SET LastDayRanking=Ranking
11329 where DeleteFlag=0 and Ranking>0
11330
11331
11332
11333
11334
11335GO
11336/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRanking] Script Date: 28-05-2018 18:12:28 ******/
11337SET ANSI_NULLS ON
11338GO
11339SET QUOTED_IDENTIFIER ON
11340GO
11341
11342
11343CREATE PROC [dbo].[spRegularUpdateClanRanking]
11344AS
11345SET NOCOUNT ON
11346
11347DECLARE @varRanking int
11348SELECT @varRanking = 0
11349
11350DECLARE curRankClan INSENSITIVE CURSOR
11351FOR
11352 SELECT CLID
11353 FROM Clan(nolock)
11354 WHERE DeleteFlag=0 AND ((Wins != 0) OR (Losses != 0))
11355 ORDER BY Point Desc, Wins Desc, Losses Asc
11356
11357FOR READ ONLY
11358
11359OPEN curRankClan
11360
11361DECLARE @varCLID int
11362DECLARE @sql varchar(100)
11363
11364FETCH FROM curRankClan INTO @varCLID
11365
11366WHILE @@FETCH_STATUS = 0
11367BEGIN
11368 SELECT @varRanking = @varRanking + 1
11369
11370 -- ëží‚¹ ì—…ë°ì´íЏ
11371 UPDATE Clan SET Ranking = @varRanking WHERE CLID=@varCLID
11372
11373
11374 FETCH FROM curRankClan INTO @varCLID
11375END
11376
11377CLOSE curRankClan
11378DEALLOCATE curRankClan
11379
11380
11381
11382
11383
11384
11385GO
11386/****** Object: StoredProcedure [dbo].[spRegularUpdateConnLog] Script Date: 28-05-2018 18:12:28 ******/
11387SET ANSI_NULLS ON
11388GO
11389SET QUOTED_IDENTIFIER ON
11390GO
11391
11392
11393CREATE PROC [dbo].[spRegularUpdateConnLog]
11394AS
11395SET NOCOUNT ON
11396-- ë‹¤ìŒ ë‚ ìžì˜ ConnLogí…Œì´ë¸” ìƒì„± 쿼리.
11397DECLARE @NewTableName varchar(20)
11398DECLARE @CreateConnLogQuery varchar( 255 )
11399DECLARE @NextDate smalldatetime
11400
11401DECLARE @Month int
11402DECLARE @Day int
11403
11404EXEC spGetAgoDay -1, @NextDate OUTPUT
11405
11406SET @Month = DATEPART(mm, @NextDate)
11407SET @Day = DATEPART(dd, @NextDate)
11408
11409SELECT @NewTableName = 'ConnLog_' +
11410 CAST( DATEPART(yy, @NextDate) AS varchar(4) ) +
11411 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11412 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11413
11414SELECT @CreateConnLogQuery = 'CREATE TABLE ' + @NewTableName + '(id int identity PRIMARY KEY, AID int NOT NULL, Time smalldatetime NOT NULL, IP char(12) NOT NULL)'
11415
11416EXEC (@CreateConnLogQuery )
11417
11418
11419
11420-- ì´ì „ ë‚ ì§œConnLogì˜ UV처리 쿼리
11421DECLARE @TableName varchar(20)
11422DECLARE @UVQuery varchar(512)
11423DECLARE @BefDate datetime
11424
11425
11426EXEC spGetAgoDay 1, @BefDate OUTPUT
11427
11428SET @Month = DATEPART(mm, @BefDate)
11429SET @Day = DATEPART(dd, @BefDate)
11430
11431SELECT @TableName = 'ConnLog_' +
11432 CAST( DATEPART(yy, @BefDate) AS varchar(4) ) +
11433 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11434 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11435
11436SELECT @UVQuery = '
11437DECLARE @Count int
11438DECLARE @Date smalldatetime
11439
11440EXEC spGetAgoDay 1, @Date OUTPUT
11441
11442SELECT @Count = COUNT(*) FROM (SELECT AID FROM ' + @TableName + ' (NOLOCK) GROUP BY AID) A
11443
11444INSERT INTO UV(Time, Count) VALUES (@Date, @Count)'
11445
11446EXEC (@UVQuery)
11447
11448--EXEC ('TRUNCATE TABLE ' + @TableName)
11449--EXEC ('DROP TABLE ' + @TableName)
11450
11451
11452
11453
11454
11455
11456GO
11457/****** Object: StoredProcedure [dbo].[spRegularUpdateDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
11458SET ANSI_NULLS ON
11459GO
11460SET QUOTED_IDENTIFIER ON
11461GO
11462
11463CREATE proc [dbo].[spRegularUpdateDeleteClan]
11464as
11465 set nocount on
11466
11467 declare @DelClanID table( clid int )
11468
11469 begin tran
11470 insert into @DelClanID
11471 select CLID from Clan(nolock) where DeleteFlag = 2
11472 if (0 <> @@ERROR) or (0 = @@ROWCOUNT) begin
11473 rollback tran
11474 return
11475 end
11476
11477 delete ClanMember
11478 from @DelClanID dci, ClanMember cm(nolock)
11479 where cm.CLID = dci.CLID
11480 if (0 <> @@ERROR) begin
11481 rollback tran
11482 return
11483 end
11484
11485 update Clan
11486 set MasterCID = null, DeleteFlag = 1, DeleteName = Name, Name = null
11487 from @DelClanID dci, Clan c(nolock)
11488 where c.CLID = dci.CLID
11489 if (0 <> @@ERROR) OR (0 = @@ROWCOUNT) begin
11490 rollback tran
11491 return
11492 end
11493
11494 commit tran
11495
11496
11497
11498
11499
11500GO
11501/****** Object: StoredProcedure [dbo].[spRegularUpdateHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
11502SET ANSI_NULLS ON
11503GO
11504SET QUOTED_IDENTIFIER ON
11505GO
11506
11507
11508-- í•œë‹¬ì— í•œë²ˆì”© ëª…ì˜ˆì˜ ì „ë‹¹ ì—…ë°ì´íЏ, ê¼ ê·¸ 다ìŒë‹¬ì˜ 1ì¼ì— 해야한다.
11509CREATE PROC [dbo].[spRegularUpdateHonorRanking]
11510AS
11511SET NOCOUNT ON
11512BEGIN TRAN -------------
11513
11514EXEC [spRegularUpdateClanRanking]
11515
11516DECLARE @Year int
11517DECLARE @Month int
11518
11519SELECT @Year = YEAR(GETDATE())
11520SELECT @Month = MONTH(GETDATE())
11521
11522IF (@Month = 1)
11523BEGIN
11524 SELECT @Year = @Year-1
11525END
11526
11527SELECT @Month = @Month - 1
11528
11529IF (@Month = 0)
11530BEGIN
11531 SELECT @Month = 12
11532END
11533
11534INSERT INTO ClanHonorRanking(CLID, ClanName, Point, Wins, Losses, Ranking, Year, Month)
11535SELECT CLID, Name AS ClanName, Point, Wins, Losses, Ranking, @Year, @Month
11536FROM Clan
11537WHERE DeleteFlag=0 AND Ranking>0
11538ORDER BY Ranking
11539IF 0 <> @@ERROR BEGIN -- 여기 추가.
11540 ROLLBACK TRAN
11541 RETURN
11542END
11543
11544-- í´ëžœ 리셋
11545UPDATE Clan SET Ranking=0, Wins=0, Losses=0, Point=1000, RankIncrease=0, LastDayRanking=0
11546IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
11547 ROLLBACK TRAN
11548 RETURN
11549END
11550
11551COMMIT TRAN -----------
11552
11553
11554
11555
11556
11557GO
11558/****** Object: StoredProcedure [dbo].[spRegularUpdateShopRanking] Script Date: 28-05-2018 18:12:28 ******/
11559SET ANSI_NULLS ON
11560GO
11561SET QUOTED_IDENTIFIER ON
11562GO
11563
11564
11565CREATE PROC [dbo].[spRegularUpdateShopRanking]
11566AS
11567SET NOCOUNT ON
11568BEGIN
11569 BEGIN TRAN
11570 /* ì›ê±°ë¦¬ 무기 ì¸ê¸°ìˆœìœ„ */
11571 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankRange%')
11572 DROP TABLE #TempShopRankRange
11573
11574
11575 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'range weapon' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID, i.Slot,
11576 i.ResSex, i.ResLevel, c.CashPrice
11577 INTO #TempShopRankRange
11578 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11579 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=2 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11580 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11581 ORDER BY Count DESC
11582 IF @@ERROR <> 0
11583 BEGIN
11584 ROLLBACK
11585 RETURN (-1)
11586 END
11587
11588 /* ê·¼ì ‘ 무기 ì¸ê¸°ìˆœìœ„ */
11589 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankMelee%')
11590 DROP TABLE #TempShopRankMelee
11591
11592 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'melee weapon' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID, i.Slot,
11593 i.ResSex, i.ResLevel, c.CashPrice
11594 INTO #TempShopRankMelee
11595 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11596 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=1 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11597 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11598 ORDER BY Count DESC
11599 IF @@ERROR <> 0
11600 BEGIN
11601 ROLLBACK
11602 RETURN (-1)
11603 END
11604
11605 /* 특수아ì´í…œ ì¸ê¸°ìˆœìœ„ */
11606 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSpecial%')
11607 DROP TABLE #TempShopRankSpecial
11608
11609 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'specail item' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID, i.Slot,
11610 i.ResSex, i.ResLevel, c.CashPrice
11611 INTO #TempShopRankSpecial
11612 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11613 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=3 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11614 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11615 ORDER BY Count DESC
11616 IF @@ERROR <> 0
11617 BEGIN
11618 ROLLBACK
11619 RETURN (-1)
11620 END
11621
11622 /* 방어구 ì¸ê¸°ìˆœìœ„ */
11623 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankArmor%')
11624 DROP TABLE #TempShopRankArmor
11625
11626 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'defence' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID,
11627 CASE i.Slot
11628 WHEN 0 THEN 'no limit'
11629 WHEN 1 THEN 'melee weapon'
11630 WHEN 2 THEN 'range weapon'
11631 WHEN 3 THEN 'item'
11632 WHEN 4 THEN 'haed'
11633 WHEN 5 THEN 'chest'
11634 WHEN 6 THEN 'hands'
11635 WHEN 7 THEN 'legs'
11636 WHEN 8 THEN 'feet'
11637 WHEN 9 THEN 'finger'
11638 END AS Slot, i.ResSex, i.ResLevel, c.CashPrice
11639 INTO #TempShopRankArmor
11640 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11641 WHERE Date > DATEADD(day, -7, GetDate()) AND 4<=i.Slot AND i.Slot<=9 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11642 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11643 ORDER BY COUNT(l.ItemID) DESC
11644 IF @@ERROR <> 0
11645 BEGIN
11646 ROLLBACK
11647 RETURN (-1)
11648 END
11649
11650 /* 세트 ì¸ê¸°ìˆœìœ„ */
11651 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSet%')
11652 DROP TABLE #TempShopRankSet
11653
11654 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'set' AS Category, s.Name, COUNT(l.CSSID) AS Count, NULL AS CSID, l.CSSID,
11655 'set' AS Slot, s.ResSex, s.ResLevel, s.CashPrice
11656 INTO #TempShopRankSet
11657 FROM SetItemPurchaseLogByCash l(NOLOCK), CashSetShop s(NOLOCK)
11658 WHERE Date > DATEADD(day, -7, GetDate()) AND l.CSSID=s.CSSID
11659 GROUP BY l.CSSID, s.Name, s.ResSex, s.ResLevel, s.CashPrice
11660 ORDER BY Count DESC
11661 IF @@ERROR <> 0
11662 BEGIN
11663 ROLLBACK
11664 RETURN (-1)
11665 END
11666
11667 /* 샵ëží‚¹ 리셋 */
11668 DELETE FROM CashShopRank
11669
11670 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11671 SELECT * FROM #TempShopRankRange
11672 IF @@ERROR <> 0
11673 BEGIN
11674 ROLLBACK
11675 RETURN (-1)
11676 END
11677
11678 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11679 SELECT * FROM #TempShopRankMelee
11680 IF @@ERROR <> 0
11681 BEGIN
11682 ROLLBACK
11683 RETURN (-1)
11684 END
11685
11686 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11687 SELECT * FROM #TempShopRankSpecial
11688 IF @@ERROR <> 0
11689 BEGIN
11690 ROLLBACK
11691 RETURN (-1)
11692 END
11693
11694 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11695 SELECT * FROM #TempShopRankArmor
11696 IF @@ERROR <> 0
11697 BEGIN
11698 ROLLBACK
11699 RETURN (-1)
11700 END
11701
11702 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11703 SELECT * FROM #TempShopRankSet
11704 IF @@ERROR <> 0
11705 BEGIN
11706 ROLLBACK
11707 RETURN (-1)
11708 END
11709
11710 DROP TABLE #TempShopRankRange
11711 DROP TABLE #TempShopRankMelee
11712 DROP TABLE #TempShopRankSpecial
11713 DROP TABLE #TempShopRankArmor
11714 DROP TABLE #TempShopRankSet
11715 COMMIT TRAN
11716 RETURN (1)
11717END
11718
11719
11720
11721
11722
11723GO
11724/****** Object: StoredProcedure [dbo].[spRemoveClanMember] Script Date: 28-05-2018 18:12:28 ******/
11725SET ANSI_NULLS ON
11726GO
11727SET QUOTED_IDENTIFIER ON
11728GO
11729
11730
11731-- 멤버 ì‚ì œ
11732CREATE PROC [dbo].[spRemoveClanMember]
11733 @CLID int,
11734 @CID int
11735AS
11736 SET NOCOUNT ON
11737 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11738
11739
11740
11741
11742
11743GO
11744/****** Object: StoredProcedure [dbo].[spRemoveClanMemberFromCharName] Script Date: 28-05-2018 18:12:28 ******/
11745SET ANSI_NULLS ON
11746GO
11747SET QUOTED_IDENTIFIER ON
11748GO
11749
11750
11751
11752-- 멤버 ì´ë¦„으로 멤버 ì‚ì œ
11753CREATE PROC [dbo].[spRemoveClanMemberFromCharName]
11754 @CLID int,
11755 @AdminGrade int, -- íƒˆí‡´ì‹œí‚¤ë ¤ê³ í•˜ëŠ” ì‚¬ëžŒì˜ ê¶Œí•œ
11756 @MemberCharName varchar(36)
11757AS
11758 SET NOCOUNT ON
11759 DECLARE @CID int
11760 DECLARE @MemberGrade int
11761
11762
11763 SELECT @CID=c.cid, @MemberGrade=cm.Grade FROM Character c(nolock), ClanMember cm(nolock)
11764 WHERE cm.clid=@CLID AND c.cid=cm.cid AND c.Name=@MemberCharName AND (DeleteFlag=0)
11765
11766 IF (@CID IS NULL)
11767 BEGIN
11768 SELECT 0 As Ret
11769 return (-1)
11770 END
11771
11772 IF @AdminGrade >= @MemberGrade
11773 BEGIN
11774 SELECT 2 As Ret
11775 return (-1)
11776 END
11777
11778
11779 IF @CID IS NOT NULL
11780 BEGIN
11781 BEGIN TRAN
11782 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11783 IF 0 <> @@ERROR BEGIN
11784 ROLLBACK TRAN
11785 SELECT 3 AS Ret -- ìˆ˜ì •ëœ ë¶€ë¶„. By SungE
11786 RETURN
11787 END
11788 COMMIT TRAN
11789 SELECT 1 As Ret
11790 END
11791
11792/* Retê°’ 설명 : 1 - 성공, 0 - 해당í´ëžœì›ì´ 없다. , 2 - ê¶Œí•œì´ ë§žì§€ 않다. */
11793
11794
11795
11796
11797
11798GO
11799/****** Object: StoredProcedure [dbo].[spRemoveFriend] Script Date: 28-05-2018 18:12:28 ******/
11800SET ANSI_NULLS ON
11801GO
11802SET QUOTED_IDENTIFIER ON
11803GO
11804
11805
11806-- 친구 ì‚ì œ
11807CREATE PROC [dbo].[spRemoveFriend]
11808 @CID int
11809, @FriendCID int
11810AS
11811SET NOCOUNT ON
11812UPDATE Friend
11813SET DeleteFlag=1
11814WHERE CID=@CID AND FriendCID=@FriendCID
11815
11816
11817
11818
11819
11820GO
11821/****** Object: StoredProcedure [dbo].[spReserveCloseClan] Script Date: 28-05-2018 18:12:28 ******/
11822SET ANSI_NULLS ON
11823GO
11824SET QUOTED_IDENTIFIER ON
11825GO
11826
11827CREATE PROC [dbo].[spReserveCloseClan]
11828 @CLID int
11829, @ClanName varchar(24)
11830, @MasterCID int
11831, @DeleteDate smalldatetime
11832AS
11833 UPDATE Clan SET DeleteFlag=2 WHERE CLID=@CLID AND Name=@ClanName AND MasterCID=@MasterCID
11834
11835
11836
11837
11838GO
11839/****** Object: StoredProcedure [dbo].[spResetAccountHackingBlock] Script Date: 28-05-2018 18:12:28 ******/
11840SET ANSI_NULLS ON
11841GO
11842SET QUOTED_IDENTIFIER ON
11843GO
11844
11845
11846CREATE PROC [dbo].[spResetAccountHackingBlock]
11847 @AID INT
11848, @HackingType TINYINT
11849AS
11850BEGIN
11851 SET NOCOUNT ON
11852
11853 UPDATE Account
11854 SET HackingType = @HackingType
11855 WHERE AID = @AID
11856END
11857
11858
11859
11860
11861GO
11862/****** Object: StoredProcedure [dbo].[spSearchCashItem] Script Date: 28-05-2018 18:12:28 ******/
11863SET ANSI_NULLS ON
11864GO
11865SET QUOTED_IDENTIFIER ON
11866GO
11867
11868
11869/* ì•„ì´í…œ 검색 */
11870CREATE PROC [dbo].[spSearchCashItem]
11871 @Slot tinyint,
11872 @ResSex tinyint,
11873 @ResMinLevel int = NULL,
11874 @ResMaxLevel int = NULL,
11875 @ItemName varchar(256) = '',
11876 @Page int = 1,
11877 @PageCount int OUTPUT
11878AS
11879SET NOCOUNT ON
11880
11881SELECT @PageCount = 1
11882
11883SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11884cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11885i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11886WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11887ORDER BY cs.csid DESC
11888
11889
11890
11891
11892
11893
11894GO
11895/****** Object: StoredProcedure [dbo].[spSearchCashItem2] Script Date: 28-05-2018 18:12:28 ******/
11896SET ANSI_NULLS ON
11897GO
11898SET QUOTED_IDENTIFIER ON
11899GO
11900
11901
11902/* ì•„ì´í…œ 검색 */
11903CREATE PROC [dbo].[spSearchCashItem2]
11904 @Slot tinyint,
11905 @ResSex tinyint,
11906 @ResMinLevel int = NULL,
11907 @ResMaxLevel int = NULL,
11908 @ItemName varchar(256) = '',
11909 @Page int = 1,
11910 @PageCount int OUTPUT
11911AS
11912SET NOCOUNT ON
11913
11914SELECT @PageCount = 1
11915
11916SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11917cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11918i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11919WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11920ORDER BY cs.csid DESC
11921
11922
11923
11924
11925
11926
11927GO
11928/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
11929SET ANSI_NULLS ON
11930GO
11931SET QUOTED_IDENTIFIER ON
11932GO
11933
11934
11935/* 순위 검색 */
11936CREATE PROC [dbo].[spSearchTotalRankingByName]
11937 @Name varchar(24)
11938AS
11939SET NOCOUNT ON
11940-- 와ì¼ë“œì¹´ë“œ ë¬¸ìž ì²˜ë¦¬
11941--SELECT @Name = REPLACE(@Name, '[', '[[]')
11942--SELECT @Name = REPLACE(@Name, '%', '[%]')
11943--SELECT @Name = REPLACE(@Name, '_', '[_]')
11944
11945SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount
11946FROM TotalRanking(nolock)
11947WHERE Name=@Name
11948
11949
11950
11951
11952
11953
11954
11955GO
11956/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
11957SET ANSI_NULLS ON
11958GO
11959SET QUOTED_IDENTIFIER ON
11960GO
11961
11962
11963
11964-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
11965CREATE PROC [dbo].[spSearchTotalRankingByNetmarbleID]
11966 @UserID varchar(20)
11967AS
11968SET NOCOUNT ON
11969BEGIN
11970 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
11971 FROM TotalRanking (NOLOCK)
11972 WHERE Name = @UserID
11973END
11974
11975
11976
11977
11978
11979GO
11980/****** Object: StoredProcedure [dbo].[spSelectAccountItem] Script Date: 28-05-2018 18:12:28 ******/
11981SET ANSI_NULLS ON
11982GO
11983SET QUOTED_IDENTIFIER ON
11984GO
11985
11986
11987/* 중앙ì€í–‰ ì•„ì´í…œ 보기 */
11988CREATE PROC [dbo].[spSelectAccountItem]
11989 @AID int
11990AS
11991SET NOCOUNT ON
11992
11993DECLARE @NowTime DATETIME
11994SELECT @NowTime = GETDATE()
11995
11996SELECT AIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
11997FROM AccountItem(NOLOCK)
11998WHERE AID=@AID ORDER BY AIID
11999
12000
12001
12002
12003
12004
12005
12006GO
12007/****** Object: StoredProcedure [dbo].[spSelectCharItem] Script Date: 28-05-2018 18:12:28 ******/
12008SET ANSI_NULLS ON
12009GO
12010SET QUOTED_IDENTIFIER ON
12011GO
12012
12013
12014/* ìºë¦í„° ì•„ì´í…œ 보기 */
12015CREATE PROC [dbo].[spSelectCharItem]
12016 @CID int
12017AS
12018SET NOCOUNT ON
12019
12020DECLARE @NowTime DATETIME
12021SELECT @NowTime = GETDATE()
12022
12023SELECT CIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
12024FROM CharacterItem (nolock)
12025WHERE CID=@CID ORDER BY CIID
12026
12027
12028
12029
12030
12031
12032
12033GO
12034/****** Object: StoredProcedure [dbo].[spSelectCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
12035SET ANSI_NULLS ON
12036GO
12037SET QUOTED_IDENTIFIER ON
12038GO
12039
12040
12041CREATE PROC [dbo].[spSelectCharQuestItemInfoByCID]
12042 @CID int
12043AS
12044BEGIN
12045 SET NOCOUNT ON
12046 SELECT QuestItemInfo FROM Character (NOLOCK) WHERE CID = @CID
12047END
12048
12049
12050
12051
12052
12053GO
12054/****** Object: StoredProcedure [dbo].[spSellBountyItem] Script Date: 28-05-2018 18:12:28 ******/
12055SET ANSI_NULLS ON
12056GO
12057SET QUOTED_IDENTIFIER ON
12058GO
12059
12060
12061-- 게임내 ìƒì ì—서 ì•„ì´í…œ íŒë§¤
12062CREATE PROC [dbo].[spSellBountyItem]
12063 @CID INT,
12064 @ItemID INT,
12065 @CIID INT,
12066 @Price INT,
12067 @CharBP INT
12068AS
12069SET NOCOUNT ON
12070BEGIN
12071 BEGIN TRAN
12072 -- Item ì‚ì œ
12073 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND CIID=@CIID
12074 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12075 BEGIN
12076 ROLLBACK
12077 RETURN (-1)
12078 END
12079
12080 -- Bounty ì¦ê°€
12081 UPDATE Character SET BP=BP+@Price WHERE CID=@CID
12082 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12083 BEGIN
12084 ROLLBACK
12085 RETURN (-1)
12086 END
12087
12088 -- Item íŒë§¤ 로그 추가
12089 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
12090 VALUES (@ItemID, @CID, GETDATE(), @Price, @CharBP, 'íŒë§¤')
12091 IF 0 <> @@ERROR BEGIN
12092 ROLLBACK TRAN
12093 RETURN (-1)
12094 END
12095
12096 SELECT 1 as Ret
12097 COMMIT TRAN
12098
12099 RETURN 1
12100END
12101
12102
12103
12104
12105
12106GO
12107/****** Object: StoredProcedure [dbo].[spSimpleUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12108SET ANSI_NULLS ON
12109GO
12110SET QUOTED_IDENTIFIER ON
12111GO
12112
12113
12114
12115/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - 한사람 죽ì¼ë•Œë§ˆë‹¤ ì—…ë°ì´íŠ¸í•œë‹¤. */
12116CREATE PROC [dbo].[spSimpleUpdateChar]
12117 @CID int,
12118 @Name varchar(24),
12119 @Level smallint,
12120 @XP int,
12121 @BP int
12122AS
12123SET NOCOUNT ON
12124UPDATE Character WITH (rowlock)
12125SET Level=@Level, XP=@XP, BP=@BP
12126WHERE CID=@CID AND Name=@Name
12127
12128
12129
12130
12131
12132GO
12133/****** Object: StoredProcedure [dbo].[spStartUpLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12134SET ANSI_NULLS ON
12135GO
12136SET QUOTED_IDENTIFIER OFF
12137GO
12138
12139CREATE PROC [dbo].[spStartUpLocatorStatus]
12140 @LocatorID int
12141, @IP varchar(15)
12142, @Port int
12143, @UpdateElapsedTime int
12144AS
12145 SET NOCOUNT ON
12146 IF EXISTS (SELECT LocatorID FROM LocatorStatus(NOLOCK)
12147 WHERE LocatorID = @LocatorID) BEGIN
12148 UPDATE LocatorStatus
12149 SET IP = @IP, Port = @Port, UpdateElapsedTime = @UpdateElapsedTime,
12150 LastUpdatedTime = GETDATE()
12151 WHERE LocatorID = @LocatorID
12152 END
12153 ELSE BEGIN
12154 INSERT INTO LocatorStatus(LocatorID, IP, Port, UpdateElapsedTime, LastUpdatedTime)
12155 VALUES (@LocatorID, @IP, @Port, @UpdateElapsedTime, GETDATE())
12156 END
12157
12158
12159
12160
12161GO
12162/****** Object: StoredProcedure [dbo].[spUpdateAccountLastLogoutTime] Script Date: 28-05-2018 18:12:28 ******/
12163SET ANSI_NULLS ON
12164GO
12165SET QUOTED_IDENTIFIER ON
12166GO
12167
12168CREATE PROC [dbo].[spUpdateAccountLastLogoutTime]
12169 @AID int
12170AS
12171BEGIN
12172 SET NOCOUNT ON
12173
12174 UPDATE Account SET LastLogoutTime = GETDATE() WHERE AID = @AID
12175END
12176
12177
12178
12179
12180GO
12181/****** Object: StoredProcedure [dbo].[spUpdateAccountUGrade] Script Date: 28-05-2018 18:12:28 ******/
12182SET ANSI_NULLS ON
12183GO
12184SET QUOTED_IDENTIFIER ON
12185GO
12186
12187
12188-- 패ë„í‹° ì ìš©
12189CREATE PROC [dbo].[spUpdateAccountUGrade]
12190 @AID int
12191, @UGrade int
12192, @Period int
12193AS
12194BEGIN TRAN
12195 SET NOCOUNT ON
12196 UPDATE Account SET UGradeID=@UGrade WHERE AID=@AID
12197 IF 0 = @@ROWCOUNT BEGIN
12198 ROLLBACK TRAN
12199 RETURN
12200 END
12201
12202
12203 IF (@UGrade >= 100) AND (@UGrade<=253) BEGIN
12204 INSERT INTO PenaltyLog(AID, UGradeID, Date) Values(@AID, @UGrade, GETDATE())
12205 IF 0 <> @@ERROR BEGIN
12206 ROLLBACK TRAN
12207 RETURN
12208 END
12209 END
12210
12211 IF @UGrade = 104 OR @UGrade=105 BEGIN
12212 INSERT INTO AccountPenaltyPeriod(AID, DayLeft) VALUES(@AID, @Period)
12213 IF 0 <> @@ERROR BEGIN
12214 ROLLBACK TRAN
12215 RETURN
12216 END
12217 END
12218 ELSE
12219 BEGIN
12220 -- 기간 패ë„í‹° í•´ì œ
12221 DELETE FROM AccountPenaltyPeriod WHERE AID=@AID
12222 IF 0 <> @@ERROR BEGIN
12223 ROLLBACK TRAN
12224 RETURN
12225 END
12226 END
12227COMMIT TRAN
12228
12229
12230
12231
12232
12233
12234GO
12235/****** Object: StoredProcedure [dbo].[spUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12236SET ANSI_NULLS ON
12237GO
12238SET QUOTED_IDENTIFIER ON
12239GO
12240
12241
12242/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - ì•„ì´í…œ ì •ë³´ëŠ” ì—…ë°ì´íЏ 하지 않는다. */
12243CREATE PROC [dbo].[spUpdateChar]
12244 @Name varchar(24),
12245 @CharNum smallint,
12246 @Level smallint,
12247 @Sex tinyint,
12248 @Hair tinyint,
12249 @Face tinyint,
12250 @XP int,
12251 @BP int,
12252 @HP smallint,
12253 @AP smallint,
12254 @FR smallint,
12255 @CR smallint,
12256 @ER smallint,
12257 @WR smallint
12258AS
12259SET NOCOUNT ON
12260UPDATE Character WITH (rowlock)
12261SET Name=@Name, Level=@Level, Sex=@Sex, Hair=@Hair, Face=@Face, XP=@XP, BP=@BP,
12262 HP=@HP, AP=@AP, FR=@FR, CR=@CR, ER=@ER, WR=@WR
12263WHERE Name=@Name and CharNum=@CharNum
12264
12265
12266
12267
12268
12269
12270GO
12271/****** Object: StoredProcedure [dbo].[spUpdateCharBP] Script Date: 28-05-2018 18:12:28 ******/
12272SET ANSI_NULLS ON
12273GO
12274SET QUOTED_IDENTIFIER ON
12275GO
12276
12277
12278
12279
12280/* BP ì—…ë°ì´íЏ */
12281CREATE PROC [dbo].[spUpdateCharBP]
12282 @BPInc int,
12283 @CID int
12284AS
12285SET NOCOUNT ON
12286UPDATE Character
12287SET BP=BP+(@BPInc)
12288WHERE CID=@CID
12289
12290
12291
12292
12293
12294
12295GO
12296/****** Object: StoredProcedure [dbo].[spUpdateCharClanContPoint] Script Date: 28-05-2018 18:12:28 ******/
12297SET ANSI_NULLS ON
12298GO
12299SET QUOTED_IDENTIFIER ON
12300GO
12301
12302
12303-- í´ëžœê¸°ì—¬ë„ ì—…ë°ì´íЏ
12304CREATE PROC [dbo].[spUpdateCharClanContPoint]
12305 @CID int,
12306 @CLID int,
12307 @AddedContPoint int
12308AS
12309 SET NOCOUNT ON
12310 Update ClanMember SET ContPoint=ContPoint+@AddedContPoint WHERE CID=@CID AND CLID=@CLID
12311
12312
12313
12314
12315
12316GO
12317/****** Object: StoredProcedure [dbo].[spUpdateCharInfoData] Script Date: 28-05-2018 18:12:28 ******/
12318SET ANSI_NULLS ON
12319GO
12320SET QUOTED_IDENTIFIER ON
12321GO
12322
12323
12324
12325
12326/* ìºë¦í„° ì •ë³´(XP, BP, KillCount, DeathCount) ì—…ë°ì´íЏ */
12327CREATE PROC [dbo].[spUpdateCharInfoData]
12328 @XPInc int,
12329 @BPInc int,
12330 @KillInc int,
12331 @DeathInc int,
12332 @CID int
12333AS
12334SET NOCOUNT ON
12335
12336UPDATE Character
12337SET XP=XP+(@XPInc), BP=BP+(@BPInc), KillCount=KillCount+(@KillInc), DeathCount=DeathCount+(@DeathInc)
12338WHERE CID=@CID
12339
12340
12341
12342
12343
12344
12345GO
12346/****** Object: StoredProcedure [dbo].[spUpdateCharLevel] Script Date: 28-05-2018 18:12:28 ******/
12347SET ANSI_NULLS ON
12348GO
12349SET QUOTED_IDENTIFIER ON
12350GO
12351
12352
12353
12354/* ë ˆë²¨ ì—…ë°ì´íЏ */
12355CREATE PROC [dbo].[spUpdateCharLevel]
12356 @Level smallint,
12357 @CID int
12358AS
12359SET NOCOUNT ON
12360UPDATE Character
12361Set Level=@Level
12362WHERE CID=@CID
12363
12364
12365
12366
12367
12368
12369GO
12370/****** Object: StoredProcedure [dbo].[spUpdateCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
12371SET ANSI_NULLS ON
12372GO
12373SET QUOTED_IDENTIFIER ON
12374GO
12375
12376
12377
12378
12379
12380/* ìºë¦í„° í”Œë ˆì´ ì‹œê°„ ì—…ë°ì´íЏ */
12381CREATE PROC [dbo].[spUpdateCharPlayTime]
12382 @PlayTimeInc int,
12383 @CID int
12384AS
12385SET NOCOUNT ON
12386
12387UPDATE Character
12388SET PlayTime=PlayTime+(@PlayTimeInc), LastTime=GETDATE()
12389WHERE CID=@CID
12390
12391
12392
12393
12394
12395
12396GO
12397/****** Object: StoredProcedure [dbo].[spUpdateClanGrade] Script Date: 28-05-2018 18:12:28 ******/
12398SET ANSI_NULLS ON
12399GO
12400SET QUOTED_IDENTIFIER ON
12401GO
12402
12403
12404
12405
12406-- 권한 변경
12407CREATE PROC [dbo].[spUpdateClanGrade]
12408 @CLID int,
12409 @CID int,
12410 @NewGrade tinyint
12411AS
12412 SET NOCOUNT ON
12413 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
12414
12415
12416
12417
12418
12419GO
12420/****** Object: StoredProcedure [dbo].[spUpdateEquipItem] Script Date: 28-05-2018 18:12:28 ******/
12421SET ANSI_NULLS ON
12422GO
12423SET QUOTED_IDENTIFIER ON
12424GO
12425
12426
12427/* ì•„ì´í…œ 장비 */
12428CREATE PROC [dbo].[spUpdateEquipItem]
12429 @CID int,
12430 @ItemParts int,
12431 @CIID int,
12432 @ItemID int
12433AS
12434
12435SET NoCount ON
12436
12437DECLARE @Ret int
12438DECLARE @IF_CIID int
12439
12440SELECT @Ret = 1
12441
12442-- Head
12443IF @ItemParts = 0
12444BEGIN
12445 IF @CIID = 0
12446 BEGIN
12447 UPDATE Character SET head_slot=NULL, head_itemid=NULL WHERE CID=@CID
12448 END
12449 ELSE
12450 BEGIN
12451 UPDATE Character SET head_slot=@CIID, head_itemid=@ItemID WHERE CID=@CID
12452 END
12453END
12454-- Chest
12455ELSE IF @ItemParts = 1
12456BEGIN
12457 IF @CIID = 0
12458 BEGIN
12459 UPDATE Character SET chest_slot=NULL, chest_itemid=NULL WHERE CID=@CID
12460 END
12461 ELSE
12462 BEGIN
12463 UPDATE Character SET chest_slot=@CIID, chest_itemid=@ItemID WHERE CID=@CID
12464 END
12465END
12466-- Hands
12467ELSE IF @ItemParts = 2
12468BEGIN
12469 IF @CIID = 0
12470 BEGIN
12471 UPDATE Character SET hands_slot=NULL, hands_itemid=NULL WHERE CID=@CID
12472 END
12473 ELSE
12474 BEGIN
12475 UPDATE Character SET hands_slot=@CIID, hands_itemid=@ItemID WHERE CID=@CID
12476 END
12477END
12478-- Legs
12479ELSE IF @ItemParts = 3
12480BEGIN
12481 IF @CIID = 0
12482 BEGIN
12483 UPDATE Character SET legs_slot=NULL, legs_itemid=NULL WHERE CID=@CID
12484 END
12485 ELSE
12486 BEGIN
12487 UPDATE Character SET legs_slot=@CIID, legs_itemid=@ItemID WHERE CID=@CID
12488 END
12489END
12490-- Feet
12491ELSE IF @ItemParts = 4
12492BEGIN
12493 IF @CIID = 0
12494 BEGIN
12495 UPDATE Character SET feet_slot=NULL, feet_itemid=NULL WHERE CID=@CID
12496 END
12497 ELSE
12498 BEGIN
12499 UPDATE Character SET feet_slot=@CIID, feet_itemid=@ItemID WHERE CID=@CID
12500 END
12501END
12502-- FingerL
12503ELSE IF @ItemParts = 5
12504BEGIN
12505 IF @CIID = 0
12506 BEGIN
12507 UPDATE Character SET fingerl_slot=NULL, fingerl_itemid=NULL WHERE CID=@CID
12508 END
12509 ELSE
12510 BEGIN
12511 SELECT @IF_CIID = fingerr_slot FROM Character(nolock) WHERE CID=@CID
12512 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12513 BEGIN
12514 SELECT @Ret = 0
12515 END
12516 ELSE
12517 BEGIN
12518 UPDATE Character SET fingerl_slot=@CIID, fingerl_itemid=@ItemID WHERE CID=@CID
12519 END
12520 END
12521END
12522-- FingerR
12523ELSE IF @ItemParts = 6
12524BEGIN
12525 IF @CIID = 0
12526 BEGIN
12527 UPDATE Character SET fingerr_slot=NULL, fingerr_itemid=NULL WHERE CID=@CID
12528 END
12529 ELSE
12530 BEGIN
12531 SELECT @IF_CIID = fingerl_slot FROM Character(nolock) WHERE CID=@CID
12532 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12533 BEGIN
12534 SELECT @Ret = 0
12535 END
12536 ELSE
12537 BEGIN
12538 UPDATE Character SET fingerr_slot=@CIID, fingerr_itemid=@ItemID WHERE CID=@CID
12539 END
12540 END
12541END
12542-- Melee
12543ELSE IF @ItemParts = 7
12544BEGIN
12545 IF @CIID = 0
12546 BEGIN
12547 UPDATE Character SET melee_slot=NULL, melee_itemid=NULL WHERE CID=@CID
12548 END
12549 ELSE
12550 BEGIN
12551 UPDATE Character SET melee_slot=@CIID, melee_itemid=@ItemID WHERE CID=@CID
12552 END
12553END
12554-- Primary
12555ELSE IF @ItemParts = 8
12556BEGIN
12557 IF @CIID = 0
12558 BEGIN
12559 UPDATE Character SET primary_slot=NULL, primary_itemid=NULL WHERE CID=@CID
12560 END
12561 ELSE
12562 BEGIN
12563 SELECT @IF_CIID = secondary_slot FROM Character(nolock) WHERE CID=@CID
12564 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12565 BEGIN
12566 SELECT @Ret = 0
12567 END
12568 ELSE
12569 BEGIN
12570 UPDATE Character SET primary_slot=@CIID, primary_itemid=@ItemID WHERE CID=@CID
12571 END
12572 END
12573END
12574-- Secondary
12575ELSE IF @ItemParts = 9
12576BEGIN
12577 IF @CIID = 0
12578 BEGIN
12579 UPDATE Character SET secondary_slot=NULL, secondary_itemid=NULL WHERE CID=@CID
12580 END
12581 ELSE
12582 BEGIN
12583 SELECT @IF_CIID = primary_slot FROM Character(nolock) WHERE CID=@CID
12584 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12585 BEGIN
12586 SELECT @Ret = 0
12587 END
12588 ELSE
12589 BEGIN
12590 UPDATE Character SET secondary_slot=@CIID, secondary_itemid=@ItemID WHERE CID=@CID
12591 END
12592 END
12593END
12594-- Custom1
12595ELSE IF @ItemParts = 10
12596BEGIN
12597 IF @CIID = 0
12598 BEGIN
12599 UPDATE Character SET custom1_slot=NULL, custom1_itemid=NULL WHERE CID=@CID
12600 END
12601 ELSE
12602 BEGIN
12603 SELECT @IF_CIID = custom2_slot FROM Character(nolock) WHERE CID=@CID
12604 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12605 BEGIN
12606 SELECT @Ret = 0
12607 END
12608 ELSE
12609 BEGIN
12610 UPDATE Character SET custom1_slot=@CIID, custom1_itemid=@ItemID WHERE CID=@CID
12611 END
12612 END
12613END
12614-- Custom2
12615ELSE IF @ItemParts = 11
12616BEGIN
12617 IF @CIID = 0
12618 BEGIN
12619 UPDATE Character SET custom2_slot=NULL, custom2_itemid=NULL WHERE CID=@CID
12620 END
12621 ELSE
12622 BEGIN
12623 SELECT @IF_CIID = custom1_slot FROM Character(nolock) WHERE CID=@CID
12624 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12625 BEGIN
12626 SELECT @Ret = 0
12627 END
12628 ELSE
12629 BEGIN
12630 UPDATE Character SET custom2_slot=@CIID, custom2_itemid=@ItemID WHERE CID=@CID
12631 END
12632 END
12633END
12634
12635
12636
12637SELECT @Ret AS Ret
12638
12639
12640
12641
12642
12643
12644GO
12645/****** Object: StoredProcedure [dbo].[spUpdateLastConnDate] Script Date: 28-05-2018 18:12:28 ******/
12646SET ANSI_NULLS ON
12647GO
12648SET QUOTED_IDENTIFIER ON
12649GO
12650
12651
12652/* LastConn, IP를 ì €ìž¥í•œë‹¤. */
12653CREATE PROC [dbo].[spUpdateLastConnDate]
12654 @IP varchar(20),
12655 @UserID varchar(20)
12656AS
12657SET NOCOUNT ON
12658UPDATE Login SET LastConnDate=GETDATE(), LastIP=@IP WHERE UserID = @UserID
12659
12660
12661
12662
12663
12664
12665GO
12666/****** Object: StoredProcedure [dbo].[spUpdateLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12667SET ANSI_NULLS ON
12668GO
12669SET QUOTED_IDENTIFIER ON
12670GO
12671
12672CREATE PROC [dbo].[spUpdateLocatorStatus]
12673 @LocatorID int
12674, @RecvCount int
12675, @SendCount int
12676, @BlockCount int
12677, @DuplicatedCount int
12678AS
12679 SET NOCOUNT ON
12680 UPDATE LocatorStatus
12681 SET RecvCount = @RecvCount, SendCount = @SendCount,
12682 BlockCount = @BlockCount, DuplicatedCount = @DuplicatedCount,
12683 LastUpdatedTime = GETDATE()
12684 WHERE LocatorID = @LocatorID
12685
12686
12687
12688
12689GO
12690/****** Object: StoredProcedure [dbo].[spUpdateServerStatus] Script Date: 28-05-2018 18:12:28 ******/
12691SET ANSI_NULLS ON
12692GO
12693SET QUOTED_IDENTIFIER ON
12694GO
12695
12696
12697
12698/* 서버 ë™ì ‘ìž ìƒíƒœ */
12699CREATE PROC [dbo].[spUpdateServerStatus]
12700 @CurrPlayer smallint,
12701 @ServerID int
12702AS
12703SET NOCOUNT ON
12704UPDATE ServerStatus
12705Set CurrPlayer=@CurrPlayer, Time=GETDATE()
12706WHERE ServerID=@ServerID
12707
12708
12709
12710
12711
12712
12713GO
12714/****** Object: StoredProcedure [dbo].[spWebCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
12715SET ANSI_NULLS ON
12716GO
12717SET QUOTED_IDENTIFIER ON
12718GO
12719
12720CREATE PROC [dbo].[spWebCheckRegisteredUser]
12721 @UserID VARCHAR(20),
12722 @Ret int Output
12723AS
12724 SET NOCOUNT ON
12725 DECLARE @AID INT
12726 SELECT @AID = AID FROM Account(NOLOCK) WHERE UserID = @UserID
12727 IF @@ERROR <> 0 BEGIN
12728 SET @Ret = 0
12729 RETURN @Ret -- 디비장ì•
12730 END
12731
12732 IF @AID IS NULL BEGIN
12733 SET @Ret = -1
12734 RETURN @Ret -- 미가입ìž
12735 END
12736
12737 SET @Ret = 1
12738 RETURN @Ret -- ê°€ìž…ìž í™•ì¸
12739
12740
12741
12742
12743GO
12744/****** Object: StoredProcedure [dbo].[spWebDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
12745SET ANSI_NULLS ON
12746GO
12747SET QUOTED_IDENTIFIER ON
12748GO
12749
12750
12751
12752-- 웹ì—서 í´ëžœ í쇄.
12753CREATE PROC [dbo].[spWebDeleteClan]
12754 @MasterName varchar(24) /* 마스터 ì´ë¦„ */
12755, @ClanName varchar(24) /* ë°©ì¶œí• í´ëžœì› ì´ë¦„ */
12756AS
12757SET NOCOUNT ON
12758BEGIN TRAN
12759 SET NOCOUNT ON
12760
12761 DECLARE @MasterCID int
12762 DECLARE @CLID int
12763
12764 SELECT @MasterCID = c.MasterCID, @CLID = c.CLID
12765 FROM Clan c (NOLOCK), Character ch(NOLOCK)
12766 WHERE ch.Name = @MasterName AND c.MasterCID = ch.CID
12767
12768 -- ìš”ì² ì¡°ê±´ 검사.
12769 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12770 BEGIN
12771 SELECT 0 AS Ret
12772 ROLLBACK TRAN
12773 SET NOCOUNT OFF
12774 RETURN
12775 END
12776
12777 -- Clan Member ì‚ì œ.
12778 DELETE ClanMember WHERE CLID = @CLID
12779 IF 0 <> @@ERROR
12780 BEGIN
12781 SELECT 0 AS Ret
12782 ROLLBACK TRAN
12783 SET NOCOUNT OFF
12784 RETURN
12785 END
12786
12787 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
12788 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
12789 IF 0 = @@ROWCOUNT BEGIN
12790 SELECT 0 AS Ret
12791 ROLLBACK TRAN
12792 SET NOCOUNT OFF
12793 RETURN
12794 END
12795
12796 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
12797 IF 0 = @@ROWCOUNT BEGIN
12798 SELECT 0 AS Ret
12799 ROLLBACK TRAN
12800 SET NOCOUNT OFF
12801 RETURN
12802 END
12803
12804 SELECT 1 AS Ret
12805
12806 SET NOCOUNT OFF
12807COMMIT TRAN
12808
12809
12810
12811
12812
12813GO
12814/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
12815SET ANSI_NULLS ON
12816GO
12817SET QUOTED_IDENTIFIER ON
12818GO
12819
12820
12821----------------------------------------------------------------------------
12822
12823-- 게시물 ì‚ì œ
12824CREATE PROC [dbo].[spWebDeleteClanAdsBoard]
12825 @Seq int
12826AS
12827 SET NOCOUNT ON
12828 BEGIN TRAN
12829 DELETE ClanAdsBoard WHERE Seq = @Seq
12830 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12831 ROLLBACK TRAN
12832 RETURN
12833 END
12834
12835 DECLARE @SEQCOUNT int
12836
12837 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanAdsComment(NOLOCK) WHERE Seq = @Seq
12838
12839 IF ( @SEQCOUNT > 0) BEGIN
12840 DELETE ClanAdsComment WHERE Seq = @Seq
12841 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12842 ROLLBACK TRAN
12843 RETURN
12844 END
12845 END
12846 COMMIT TRAN
12847
12848
12849
12850
12851GO
12852/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
12853SET ANSI_NULLS ON
12854GO
12855SET QUOTED_IDENTIFIER ON
12856GO
12857
12858
12859----------------------------------------------------------------------------
12860
12861-- 코멘트 게시물 ì‚ì œ
12862CREATE PROC [dbo].[spWebDeleteClanAdsComment]
12863 @ID int
12864AS
12865 SET NOCOUNT ON
12866 DECLARE @Seq int
12867
12868 SELECT @Seq = Seq FROM ClanAdsComment(NOLOCK) WHERE ID = @ID
12869
12870 BEGIN TRAN
12871 DELETE ClanAdsComment WHERE ID = @ID
12872 IF (@@ERROR <> 0) BEGIN
12873 ROLLBACK TRAN
12874 RETURN
12875 END
12876
12877 UPDATE ClanAdsBoard SET CommentCount = CommentCount - 1 WHERE Seq = @Seq
12878 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12879 ROLLBACK TRAN
12880 RETURN
12881 END
12882
12883 COMMIT TRAN
12884
12885
12886
12887
12888GO
12889/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoard] Script Date: 28-05-2018 18:12:28 ******/
12890SET ANSI_NULLS ON
12891GO
12892SET QUOTED_IDENTIFIER ON
12893GO
12894
12895
12896--------------------------------------------------------------------------------------------------------
12897
12898-- 게시물 ì‚ì œ
12899
12900CREATE PROC [dbo].[spWebDeleteClanBoard]
12901 @Seq int
12902AS
12903 SET NOCOUNT ON
12904 BEGIN TRAN
12905 DELETE ClanBoard WHERE Seq = @Seq
12906 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12907 ROLLBACK TRAN
12908 RETURN
12909 END
12910
12911 DECLARE @SEQCOUNT int
12912
12913 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanBoardComment(NOLOCK) WHERE Seq = @Seq
12914
12915 IF ( @SEQCOUNT > 0) BEGIN
12916 DELETE ClanBoardComment WHERE Seq = @Seq
12917 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12918 ROLLBACK TRAN
12919 RETURN
12920 END
12921 END
12922 COMMIT TRAN
12923
12924
12925
12926
12927
12928GO
12929/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
12930SET ANSI_NULLS ON
12931GO
12932SET QUOTED_IDENTIFIER ON
12933GO
12934
12935
12936--------------------------------------------------------------------------------------------------------
12937
12938-- 코멘트 게시물 ì‚ì œ
12939
12940CREATE PROC [dbo].[spWebDeleteClanBoardComment]
12941 @ID int
12942AS
12943 SET NOCOUNT ON
12944 DECLARE @Seq int
12945
12946 SELECT @Seq = Seq FROM ClanBoardComment(NOLOCK) Where ID = @ID
12947
12948 BEGIN TRAN
12949 DELETE ClanBoardComment WHERE ID = @ID
12950 IF (@@ERROR <> 0) BEGIN
12951 ROLLBACK TRAN
12952 RETURN
12953 END
12954
12955 Update ClanBoard Set CommentCount = CommentCount - 1 WHERE Seq = @Seq
12956 IF (0 <> @@ERROR) BEGIN
12957 ROLLBACK TRAN
12958 RETURN
12959 END
12960 COMMIT TRAN
12961
12962
12963
12964
12965GO
12966/****** Object: StoredProcedure [dbo].[spWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
12967SET ANSI_NULLS ON
12968GO
12969SET QUOTED_IDENTIFIER ON
12970GO
12971
12972
12973
12974-- CID로 í´ëžœ í쇄.
12975CREATE PROC [dbo].[spWebDeleteClanByCID]
12976 @MasterCID int /* 마스터 CID */
12977AS
12978SET NOCOUNT ON
12979BEGIN TRAN
12980
12981 DECLARE @CLID int
12982
12983 SELECT @CLID = c.CLID
12984 FROM Clan c(NOLOCK)
12985 WHERE c.MasterCID = @MasterCID
12986
12987 -- ìš”ì² ì¡°ê±´ 검사.
12988 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12989 BEGIN
12990 SELECT 0 AS Ret
12991 ROLLBACK TRAN
12992-- SET NOCOUNT OFF
12993 Select 0
12994 RETURN
12995 END
12996
12997 -- Clan Member ì‚ì œ.
12998 DELETE ClanMember WHERE CLID = @CLID
12999 IF 0 <> @@ERROR
13000 BEGIN
13001 SELECT 0 AS Ret
13002 ROLLBACK TRAN
13003-- SET NOCOUNT OFF
13004 Select 0
13005 RETURN
13006 END
13007
13008 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
13009 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
13010 -- UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
13011 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
13012 SELECT 0 AS Ret
13013 ROLLBACK TRAN
13014 Select 0
13015 RETURN
13016 END
13017 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
13018 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
13019 SELECT 0 AS Ret
13020 ROLLBACK TRAN
13021 Select 0
13022 RETURN
13023 END
13024
13025 SELECT 1
13026
13027
13028COMMIT TRAN
13029SET NOCOUNT OFF
13030
13031
13032
13033
13034
13035GO
13036/****** Object: StoredProcedure [dbo].[spWebFireClanMember] Script Date: 28-05-2018 18:12:28 ******/
13037SET ANSI_NULLS ON
13038GO
13039SET QUOTED_IDENTIFIER ON
13040GO
13041
13042
13043
13044-- 마스터가 í´ëžœì› ë°©ì¶œ.
13045CREATE PROC [dbo].[spWebFireClanMember]
13046 @Master varchar(24) /* í´ëžœ 마스터 CID */
13047, @ClanMem varchar(24) /* ë°©ì¶œí• í´ëžœì› ìºë¦í„° CID */
13048AS
13049SET NOCOUNT ON
13050BEGIN TRAN
13051 DECLARE @MasterCID int
13052 DECLARE @CLID int
13053 DECLARE @ClanMemCID int
13054
13055 -- ìžê²© 검사를 위해 í´ëžœì•„ì´ë””와 마스터 ì•„ì´í‹°ë¥¼ 구함.
13056 SELECT @CLID = cl.CLID, @MasterCID = cl.MasterCID
13057 FROM Character ch(NOLOCK), Clan cl(NOLOCK)
13058 WHERE ch.Name = @Master AND cl.MasterCID = ch.CID
13059
13060 -- ë°©ì¶©í•˜ë ¤ëŠ” í´ëžœ 맴버.
13061 SELECT @ClanMemCID = ch.CID
13062 FROM Character ch(NOLOCK)
13063 WHERE ch.Name = @ClanMem
13064
13065 -- í´ëžœì´ ì¡´ìž¬í•˜ê³ í´ëžœë§´ë²„ê°€ 존재해야 í•˜ê³ ë°©ì¶œë˜ëŠ” 맴버가 마스터가 아니어야 함.
13066 IF (@CLID IS NULL) OR (@ClanMemCID IS NULL) OR (@MasterCID = @ClanMemCID)
13067 BEGIN
13068 ROLLBACK TRAN
13069 SELECT 0
13070 RETURN
13071 END
13072
13073 DELETE ClanMember
13074 WHERE CLID = @CLID AND CID = @ClanMemCID
13075 IF 0 <> @@ERROR
13076 BEGIN
13077 ROLLBACK TRAN
13078 SELECT 0
13079 RETURN
13080 END
13081
13082 SELECT 1
13083COMMIT TRAN
13084SET NOCOUNT OFF
13085
13086
13087
13088
13089
13090GO
13091/****** Object: StoredProcedure [dbo].[spWebGetAccountMaxLevel] Script Date: 28-05-2018 18:12:28 ******/
13092SET ANSI_NULLS ON
13093GO
13094SET QUOTED_IDENTIFIER ON
13095GO
13096
13097
13098CREATE PROC [dbo].[spWebGetAccountMaxLevel]
13099 @UserID varchar(20)
13100AS
13101BEGIN
13102 SET NOCOUNT ON
13103 SELECT MAX(c.Level) FROM Account a(NOLOCK), Character c(NOLOCK)
13104 WHERE a.UserID=@UserID AND a.AID=c.AID AND c.DeleteFlag=0
13105END
13106
13107
13108
13109
13110
13111
13112GO
13113/****** Object: StoredProcedure [dbo].[spWebGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13114SET ANSI_NULLS ON
13115GO
13116SET QUOTED_IDENTIFIER ON
13117GO
13118
13119
13120
13121-- ì´ë¯¸ì§€ íŒŒì¼ ì´ë¦„ê³¼ ì•„ì´í…œ ì´ë¦„ì„ ê°€ì ¸ì˜´.
13122CREATE PROC [dbo].[spWebGetCashItemImageFile]
13123 @CSID int
13124, @RetImageFileName varchar(64) OUT
13125, @RetItemName varchar(256) OUT
13126AS
13127BEGIN
13128 SET NOCOUNT ON
13129 SELECT @RetImageFileName = cs.WebImgName, @RetItemName = i.Name
13130 FROM CashShop cs(NOLOCK), Item i(NOLOCK)
13131 WHERE cs.CSID = @CSID AND i.ItemID = cs.ItemID
13132
13133 RETURN 1
13134END
13135
13136
13137
13138
13139
13140GO
13141/****** Object: StoredProcedure [dbo].[spWebGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13142SET ANSI_NULLS ON
13143GO
13144SET QUOTED_IDENTIFIER ON
13145GO
13146
13147
13148
13149-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ê³¼ ì•„ì´í…œ ì´ë¦„ 알아오기.
13150CREATE PROC [dbo].[spWebGetCashSetItemImageFile]
13151 @CSSID int
13152, @RetImageFileName varchar(64) OUTPUT
13153, @RetSetItemName varchar(64) OUTPUT
13154AS
13155SET NOCOUNT ON
13156BEGIN
13157 SELECT @RetImageFileName = css.WebImgName, @RetSetItemName = css.Name
13158 FROM CashSetShop css(NOLOCK)
13159 WHERE css.CSSID=@CSSID
13160
13161 RETURN 1
13162END
13163
13164
13165
13166
13167
13168GO
13169/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13170SET ANSI_NULLS ON
13171GO
13172SET QUOTED_IDENTIFIER ON
13173GO
13174
13175
13176----------------------------------------------------------------------------
13177
13178-- 게시물 내용 조회
13179CREATE PROC [dbo].[spWebGetClanAdsBoardContent]
13180 @Seq int
13181AS
13182 SET NOCOUNT ON
13183 SELECT Seq, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13184 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13185 FROM ClanAdsBoard
13186 WHERE Seq = @Seq
13187 ORDER BY Thread DESC
13188
13189
13190
13191
13192GO
13193/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardList] Script Date: 28-05-2018 18:12:28 ******/
13194SET ANSI_NULLS ON
13195GO
13196SET QUOTED_IDENTIFIER ON
13197GO
13198
13199
13200----------------------------------------------------------------------------
13201
13202-- 게시물 조회
13203CREATE PROC [dbo].[spWebGetClanAdsBoardList]
13204AS
13205 SET NOCOUNT ON
13206 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13207 FROM ClanAdsBoard(NOLOCK)
13208 ORDER BY Thread DESC
13209
13210
13211
13212
13213GO
13214/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13215SET ANSI_NULLS ON
13216GO
13217SET QUOTED_IDENTIFIER ON
13218GO
13219
13220
13221----------------------------------------------------------------------------
13222
13223-- 게시물 코멘트 내용 조회
13224CREATE PROC [dbo].[spWebGetClanAdsCommentContent]
13225 @Seq int
13226AS
13227 SET NOCOUNT ON
13228 SELECT ID, Userid, Content, RegDate
13229 FROM ClanAdsComment(NOLOCK)
13230 WHERE Seq = @Seq
13231 ORDER BY RegDate
13232
13233
13234
13235
13236GO
13237/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13238SET ANSI_NULLS ON
13239GO
13240SET QUOTED_IDENTIFIER ON
13241GO
13242
13243
13244----------------------------------------------------------------------------
13245
13246CREATE PROC [dbo].[spWebGetClanAdsCommentContentByID]
13247 @ID int
13248AS
13249 SET NOCOUNT ON
13250 SELECT ID, Userid, Content, RegDate
13251 FROM ClanAdsComment(NOLOCK)
13252 WHERE ID = @ID
13253 ORDER BY RegDate
13254
13255
13256
13257
13258GO
13259/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13260SET ANSI_NULLS ON
13261GO
13262SET QUOTED_IDENTIFIER ON
13263GO
13264
13265
13266--------------------------------------------------------------------------------------------------------
13267
13268-- 게시물 코멘트 내용 조회
13269
13270CREATE PROC [dbo].[spWebGetClanBoardCommentContent]
13271 @Seq int
13272AS
13273 SET NOCOUNT ON
13274 SELECT ID, Userid, Content, RegDate
13275 FROM ClanBoardComment (NOLOCK)
13276 WHERE Seq = @Seq
13277 ORDER BY RegDate
13278
13279
13280
13281
13282GO
13283/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13284SET ANSI_NULLS ON
13285GO
13286SET QUOTED_IDENTIFIER ON
13287GO
13288
13289
13290--------------------------------------------------------------------------------------------------------
13291
13292-- 게시물 코멘트 내용 조회 By ID
13293
13294CREATE PROC [dbo].[spWebGetClanBoardCommentContentByID]
13295 @ID int
13296AS
13297 SET NOCOUNT ON
13298 SELECT ID, Userid, Content, RegDate
13299 FROM ClanBoardComment(NOLOCK)
13300 WHERE ID = @ID
13301 ORDER BY RegDate
13302
13303
13304
13305
13306GO
13307/****** Object: StoredProcedure [dbo].[spWebGetClanBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13308SET ANSI_NULLS ON
13309GO
13310SET QUOTED_IDENTIFIER ON
13311GO
13312
13313
13314--------------------------------------------------------------------------------------------------------
13315
13316-- 게시물 내용 조회
13317
13318CREATE PROC [dbo].[spWebGetClanBoardContent]
13319 @Seq int
13320AS
13321 SET NOCOUNT ON
13322 SELECT Seq, CLID, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13323 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13324 FROM ClanBoard (NOLOCK)
13325 WHERE Seq = @Seq
13326 ORDER BY Thread DESC
13327
13328
13329
13330
13331GO
13332/****** Object: StoredProcedure [dbo].[spWebGetClanBoardList] Script Date: 28-05-2018 18:12:28 ******/
13333SET ANSI_NULLS ON
13334GO
13335SET QUOTED_IDENTIFIER ON
13336GO
13337
13338
13339--------------------------------------------------------------------------------------------------------
13340
13341-- 게시물 조회
13342
13343CREATE PROC [dbo].[spWebGetClanBoardList]
13344 @CLID int
13345AS
13346 SET NOCOUNT ON
13347 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13348 FROM ClanBoard(NOLOCK)
13349 WHERE CLID = @CLID
13350 ORDER BY Thread DESC
13351
13352
13353
13354
13355GO
13356/****** Object: StoredProcedure [dbo].[spWebGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
13357SET ANSI_NULLS ON
13358GO
13359SET QUOTED_IDENTIFIER ON
13360GO
13361
13362
13363
13364
13365/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
13366 Arg1 : @CharName (í´ëžœ 마스터 ì´ë¦„) */
13367CREATE PROC [dbo].[spWebGetClanListSearchByMaster]
13368 @CharName VARCHAR(24)
13369AS
13370SET NOCOUNT ON
13371BEGIN
13372 SELECT TOP 1 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, c.Name AS Master, cl.RegDate
13373 FROM Clan cl(NOLOCK), Character c(nolock)
13374 WHERE c.Name = @CharName AND cl.DeleteFlag = 0 AND cl.MasterCID = c.CID
13375END
13376
13377
13378
13379
13380
13381GO
13382/****** Object: StoredProcedure [dbo].[spWebGetClanMembers] Script Date: 28-05-2018 18:12:28 ******/
13383SET ANSI_NULLS ON
13384GO
13385SET QUOTED_IDENTIFIER ON
13386GO
13387
13388CREATE PROC [dbo].[spWebGetClanMembers]
13389 @CLID int
13390AS
13391 SET NOCOUNT ON
13392 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
13393 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
13394 ON cm.CLID = @CLID AND c.CID = cm.CID
13395 ORDER BY cm.RegDate DESC
13396
13397
13398
13399
13400GO
13401/****** Object: StoredProcedure [dbo].[spWebGetClanRankByMaster] Script Date: 28-05-2018 18:12:28 ******/
13402SET ANSI_NULLS ON
13403GO
13404SET QUOTED_IDENTIFIER ON
13405GO
13406
13407
13408
13409-- í´ëžœ ëží‚¹ì„ 마스터 ì´ë¦„ì„ ì‚¬ìš©í•´ì„œ 검색.
13410CREATE PROC [dbo].[spWebGetClanRankByMaster]
13411 @MasterName varchar(24)
13412AS
13413SET NOCOUNT ON
13414BEGIN
13415 SELECT cl.CLID, cl.Name AS ClanName, cl.Point, cl.Wins, cl.Losses, cl.EmblemUrl, cl.Ranking, cl.RankIncrease, c.Name AS Master, cl.RegDate
13416 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
13417 ON c.Name = @MasterName AND cl.MasterCID = c.CID AND cl.Ranking > 0
13418END
13419
13420
13421
13422
13423
13424GO
13425/****** Object: StoredProcedure [dbo].[spWebGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
13426SET ANSI_NULLS ON
13427GO
13428SET QUOTED_IDENTIFIER ON
13429GO
13430
13431
13432
13433-- Masterì´ë¦„ê³¼ RegDate추가.
13434/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
13435 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
13436 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
13437CREATE PROC [dbo].[spWebGetClanRanking]
13438 @Page INT,
13439 @Backward INT = 0
13440AS
13441SET NOCOUNT ON
13442BEGIN
13443 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
13444 DECLARE @RowCount INT
13445 DECLARE @PageHead INT
13446
13447 IF @Backward = 0
13448 BEGIN
13449 SELECT @RowCount = ((@Page -1) * 20 + 1)
13450 SELECT TOP 20 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, ch.Name AS Master, cl.RegDate
13451 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13452 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
13453 ORDER BY cl.Ranking
13454 END
13455 ELSE
13456 BEGIN
13457 SELECT @RowCount = ((@Page -1) * 20 + 1)
13458
13459 SET ROWCOUNT @RowCount
13460 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
13461
13462 SET ROWCOUNT 20
13463 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
13464 (
13465 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
13466 SELECT TOP 20 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, ch.Name AS Master, cl.RegDate
13467 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13468 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
13469 ORDER BY cl.Ranking DESC
13470 ) AS t ORDER BY Ranking
13471 END
13472END
13473
13474
13475
13476
13477
13478GO
13479/****** Object: StoredProcedure [dbo].[spWebGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
13480SET ANSI_NULLS ON
13481GO
13482SET QUOTED_IDENTIFIER ON
13483GO
13484
13485
13486
13487-- í´ëžœ ì´ë¦„으로 검색.
13488CREATE PROC [dbo].[spWebGetClanRankingSearchByName]
13489 @Name VARCHAR(24) /* í´ëžœ ì´ë¦„ */
13490AS
13491SET NOCOUNT ON
13492BEGIN
13493 SELECT TOP 1 cl.Ranking, cl.RankIncrease, cl.Name as ClanName, cl.Point, cl.Wins, cl.Losses, cl.CLID, cl.EmblemUrl, ch.Name AS Master, cl.RegDate
13494 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13495 WHERE ch.CID = cl.MasterCID AND cl.Ranking>0 AND cl.DeleteFlag=0 AND cl.Name=@Name
13496END
13497
13498
13499
13500
13501
13502GO
13503/****** Object: StoredProcedure [dbo].[spWebGetCLIDbyUserID] Script Date: 28-05-2018 18:12:28 ******/
13504SET ANSI_NULLS ON
13505GO
13506SET QUOTED_IDENTIFIER ON
13507GO
13508
13509CREATE PROC [dbo].[spWebGetCLIDbyUserID]
13510 @UserID varchar(20)
13511AS
13512 SET NOCOUNT ON
13513 SELECT cm.CLID
13514 FROM Account ac(NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK)
13515 WHERE ac.UserID = @UserID AND ch.AID = ac.AID AND cm.CID = ch.CID
13516
13517
13518
13519
13520GO
13521/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfo] Script Date: 28-05-2018 18:12:28 ******/
13522SET ANSI_NULLS ON
13523GO
13524SET QUOTED_IDENTIFIER ON
13525GO
13526
13527
13528
13529-- Myëží‚¹ì •ë³´.
13530CREATE PROC [dbo].[spWebGetMyClanInfo]
13531 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13532AS
13533SET NOCOUNT ON
13534BEGIN
13535 DECLARE @CLID int
13536
13537 SELECT @CLID = cm.CLID
13538 FROM Account a (NOLOCK), Character c (NOLOCK), ClanMember cm (NOLOCK)
13539 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID
13540
13541 IF @CLID IS NOT NULL
13542 BEGIN
13543 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13544 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13545 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13546 END
13547END
13548
13549
13550
13551
13552
13553GO
13554/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
13555SET ANSI_NULLS ON
13556GO
13557SET QUOTED_IDENTIFIER ON
13558GO
13559
13560
13561
13562-- Myëží‚¹ì •보를 CID로 ê°€ì ¸ì˜´.
13563CREATE PROC [dbo].[spWebGetMyClanInfoByCID]
13564 @CID int /* ìºë¦í„° CID */
13565AS
13566SET NOCOUNT ON
13567BEGIN
13568 SELECT t.Name, t.Name AS Master, t.IntroDuction, t.RegDate, t.Homepage, t.EmblemUrl, t.Ranking
13569 FROM
13570 (
13571 SELECT cl.Name, cl.MasterCID, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13572 FROM ClanMember cm(NOLOCK), Clan cl(NOLOCK), Character ch(NOLOCK)
13573 WHERE cm.CID = @CID AND cl.CLID = cm.CLID AND ch.CID = @CID
13574 ) AS t, Character ch(NOLOCK)
13575 WHERE t.MasterCID = ch.CID
13576END
13577
13578
13579
13580
13581
13582GO
13583/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
13584SET ANSI_NULLS ON
13585GO
13586SET QUOTED_IDENTIFIER ON
13587GO
13588
13589
13590
13591CREATE PROC [dbo].[spWebGetMyClanInfoByCLID]
13592 @CLID int
13593AS
13594SET NOCOUNT ON
13595BEGIN
13596 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13597 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13598 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13599END
13600
13601
13602
13603
13604
13605GO
13606/****** Object: StoredProcedure [dbo].[spWebGetMyClanList] Script Date: 28-05-2018 18:12:28 ******/
13607SET ANSI_NULLS ON
13608GO
13609SET QUOTED_IDENTIFIER ON
13610GO
13611
13612
13613
13614
13615-- 가입한 í´ëžœ 리스트를 Ranking으로 ì •ë ¬í•´ì„œ 보여줌. í´ëžœì´ 중복으로 ë³´ì¼ìˆ˜ 있ìŒ.
13616CREATE PROC [dbo].[spWebGetMyClanList]
13617 @UserID varchar(20) /* 넷마블 ì•„ì´ë”” */
13618AS
13619SET NOCOUNT ON
13620BEGIN
13621 SELECT t.Ranking, t.RankIncrease, t.ClanName, t.Point, t.Wins, t.Losses, t.CLID, t.EmblemUrl, ch.Name AS Master, t.RegDate
13622 FROM
13623 (
13624 SELECT cl.CLID, cl.Name AS ClanName, cl.Point, cl.Wins, cl.Losses, cl.EmblemUrl, cl.Ranking, cl.RankIncrease, cl.MasterCID, cl.RegDate
13625 FROM Account ac (NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK), Clan cl(NOLOCK)
13626 WHERE ac.UserID = @UserID AND ac.AID = ch.AID AND cm.CID = ch.CID AND cl.CLID = cm.CLID
13627 ) AS t, Character ch(NOLOCK)
13628 WHERE t.MasterCID = ch.CID ORDER BY t.Ranking DESC
13629END
13630
13631
13632
13633
13634
13635GO
13636/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13637SET ANSI_NULLS ON
13638GO
13639SET QUOTED_IDENTIFIER ON
13640GO
13641
13642CREATE PROC [dbo].[spWebInsertClanAdsBoard]
13643 @UserID varchar(20),
13644 @Subject varchar(50),
13645 @Content varchar(2000),
13646 @FileName varchar(128),
13647 @Link varchar(255),
13648 @HTML smallint
13649AS
13650 SET NOCOUNT ON
13651 DECLARE @NewThread int
13652 SELECT @NewThread = ISNULL(MAX(Thread), 0) + 1000 FROM ClanAdsBoard(NOLOCK)
13653
13654 BEGIN TRAN
13655 INSERT INTO ClanAdsboard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13656 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13657 IF 0 <> @@ERROR BEGIN
13658 ROLLBACK TRAN
13659 RETURN
13660 END
13661
13662 UPDATE ClanAdsBoard SET GR_ID = seq where GR_ID = 0
13663 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13664 ROLLBACK TRAN
13665 RETURN
13666 END
13667
13668 COMMIT TRAN
13669
13670
13671
13672
13673GO
13674/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
13675SET ANSI_NULLS ON
13676GO
13677SET QUOTED_IDENTIFIER ON
13678GO
13679
13680
13681----------------------------------------------------------------------------
13682
13683-- 코멘트 게시물 등ë¡
13684CREATE PROC [dbo].[spWebInsertClanAdsComment]
13685 @Seq int,
13686 @Userid varchar(20),
13687 @Content varchar(500)
13688AS
13689 SET NOCOUNT ON
13690
13691 BEGIN TRAN
13692 INSERT INTO ClanAdsComment (Seq, UserID, Content, RegDate)
13693 VALUES(@Seq, @UserID, @Content, GetDate())
13694 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13695 ROLLBACK TRAN
13696 RETURN
13697 END
13698
13699 UPDATE ClanAdsBoard SET CommentCount = CommentCount + 1 WHERE Seq = @Seq
13700 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13701 ROLLBACK TRAN
13702 RETURN
13703 END
13704
13705 COMMIT TRAN
13706
13707
13708
13709
13710GO
13711/****** Object: StoredProcedure [dbo].[spWebInsertClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13712SET ANSI_NULLS ON
13713GO
13714SET QUOTED_IDENTIFIER ON
13715GO
13716
13717
13718--------------------------------------------------------------------------------------------------------
13719
13720/***************************************************************************/
13721/**** í´ëžœ ê²Œì‹œíŒ ê´€ë ¨ í”„ë¡œì‹œì ¸ ****/
13722/***************************************************************************/
13723
13724
13725-- 게시물 등ë¡
13726
13727CREATE PROC [dbo].[spWebInsertClanBoard]
13728 @CLID int,
13729 @UserID varchar(20),
13730 @Subject varchar(50),
13731 @Content varchar(4000),
13732 @FileName varchar(128),
13733 @Link varchar(255),
13734 @HTML smallint
13735AS
13736 SET NOCOUNT ON
13737 DECLARE @NewThread int
13738 SELECT @NewThread = ISNULL(MAX(Thread),0) + 1000 FROM ClanBoard(NOLOCK)
13739
13740 BEGIN TRAN
13741 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13742 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13743 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13744 ROLLBACK TRAN
13745 RETURN
13746 END
13747
13748 UPDATE ClanBoard SET GR_ID = seq where GR_ID = 0
13749 IF( 0 <> @@ERROR) BEGIN
13750 ROLLBACK TRAN
13751 RETURN
13752 END
13753 COMMIT TRAN
13754
13755
13756
13757
13758GO
13759/****** Object: StoredProcedure [dbo].[spWebInsertClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
13760SET ANSI_NULLS ON
13761GO
13762SET QUOTED_IDENTIFIER ON
13763GO
13764
13765
13766--------------------------------------------------------------------------------------------------------
13767
13768-- 코멘트 게시물 등ë¡
13769
13770CREATE PROC [dbo].[spWebInsertClanBoardComment]
13771 @Seq int,
13772 @UserID varchar(20),
13773 @Content varchar(500)
13774AS
13775 SET NOCOUNT ON
13776 BEGIN TRAN
13777 INSERT INTO ClanBoardComment (Seq, UserID, Content, RegDate)
13778 VALUES(@Seq, @UserID, @Content, GetDate())
13779 IF (@@ERROR <> 0) BEGIN
13780 ROLLBACK TRAN
13781 RETURN
13782 END
13783
13784 Update ClanBoard Set CommentCount = CommentCount + 1 WHERE Seq = @Seq
13785 IF (0 <> @@ERROR) BEGIN
13786 ROLLBACK TRAN
13787 RETURN
13788 END
13789 COMMIT TRAN
13790
13791
13792
13793
13794GO
13795/****** Object: StoredProcedure [dbo].[spWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
13796SET ANSI_NULLS ON
13797GO
13798SET QUOTED_IDENTIFIER ON
13799GO
13800
13801
13802
13803-- ìºì‰¬ì•„ì´í…œ 사용기ë¡
13804CREATE PROC [dbo].[spWebItemUseLog]
13805 @UserID VARCHAR(32)
13806AS
13807SET NOCOUNT ON
13808BEGIN
13809
13810 DECLARE @TargetAID INT
13811 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
13812
13813 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
13814 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
13815 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
13816 ORDER BY Date DESC
13817END
13818
13819
13820
13821
13822
13823
13824
13825GO
13826/****** Object: StoredProcedure [dbo].[spWebLeaveClan] Script Date: 28-05-2018 18:12:28 ******/
13827SET ANSI_NULLS ON
13828GO
13829SET QUOTED_IDENTIFIER ON
13830GO
13831
13832
13833
13834-- ìžì‹ ì˜ í´ëžœ 탈퇴.
13835CREATE PROC [dbo].[spWebLeaveClan]
13836 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13837AS
13838BEGIN TRAN
13839 SET NOCOUNT ON
13840
13841 DECLARE @CLID int
13842 DECLARE @CID int
13843 DECLARE @MasterCID int
13844
13845 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13846 SELECT @CLID = cm.CLID, @CID = c.CID, @MasterCID = cl.MasterCID
13847 FROM Account a (NOLOCK), Character c (NOLOCK), Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13848 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID AND cl.CLID = cm.CLID
13849
13850 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13851 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13852 BEGIN
13853 ROLLBACK TRAN
13854 SET NOCOUNT OFF
13855 RETURN
13856 END
13857
13858 DELETE ClanMember WHERE CID = @CID
13859 IF 0 <> @@ERROR
13860 BEGIN
13861 ROLLBACK TRAN
13862 SET NOCOUNT OFF
13863 RETURN
13864 END
13865
13866 SET NOCOUNT OFF
13867COMMIT TRAN
13868
13869
13870
13871
13872
13873GO
13874/****** Object: StoredProcedure [dbo].[spWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
13875SET ANSI_NULLS ON
13876GO
13877SET QUOTED_IDENTIFIER ON
13878GO
13879
13880
13881
13882
13883-- CID로 í´ëžœ 탈퇴.
13884CREATE PROC [dbo].[spWebLeaveClanByCID]
13885 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
13886AS
13887SET NOCOUNT ON
13888BEGIN TRAN
13889
13890
13891 DECLARE @CLID int
13892 DECLARE @MasterCID int
13893
13894 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13895 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
13896 FROM Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13897 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
13898
13899 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13900 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13901 BEGIN
13902 ROLLBACK TRAN
13903 SELECT 0
13904 RETURN
13905 END
13906
13907 DELETE ClanMember WHERE CID = @CID
13908 IF 0 <> @@ERROR
13909 BEGIN
13910 ROLLBACK TRAN
13911 SELECT 0
13912 RETURN
13913 END
13914
13915 SELECT 1
13916COMMIT TRAN
13917SET NOCOUNT OFF
13918
13919
13920
13921
13922
13923GO
13924/****** Object: StoredProcedure [dbo].[spWebReplyClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13925SET ANSI_NULLS ON
13926GO
13927SET QUOTED_IDENTIFIER ON
13928GO
13929
13930
13931----------------------------------------------------------------------------
13932
13933-- 게시물 답글
13934CREATE PROC [dbo].[spWebReplyClanAdsBoard]
13935 @Seq int,
13936 @UserID varchar(20),
13937 @Subject varchar(50),
13938 @Content varchar(2000),
13939 @FileName varchar(128),
13940 @Link varchar(255),
13941 @HTML smallint,
13942 @GR_ID int,
13943 @GR_Depth int,
13944 @GR_Pos int
13945AS
13946 SET NOCOUNT ON
13947 DECLARE @ParentThread int
13948 DECLARE @PrevThread int
13949
13950 SELECT @ParentThread = Thread FROM ClanAdsBoard(NOLOCK) WHERE Seq = @Seq
13951 SELECT @PrevThread = @ParentThread -1000 FROM ClanAdsBoard(NOLOCK) WHERE GR_ID =@GR_ID and GR_Depth = '0'
13952
13953 BEGIN TRAN
13954 UPDATE ClanAdsBoard
13955 SET Thread = Thread - 1
13956 WHERE Thread < @ParentThread and Thread > @PrevThread
13957 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13958 ROLLBACK TRAN
13959 RETURN
13960 END
13961
13962 UPDATE ClanAdsBoard SET GR_Pos =GR_Pos+1
13963 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
13964 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13965 ROLLBACK TRAN
13966 RETURN
13967 END
13968
13969 SET @GR_Depth = @GR_Depth+1;
13970 SET @GR_Pos = @GR_Pos + 1;
13971
13972 INSERT INTO ClanAdsBoard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
13973 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
13974 IF (@@ERROR <> 0) BEGIN
13975 ROLLBACK TRAN
13976 RETURN
13977 END
13978
13979 COMMIT TRAN
13980
13981
13982
13983
13984GO
13985/****** Object: StoredProcedure [dbo].[spWebReplyClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13986SET ANSI_NULLS ON
13987GO
13988SET QUOTED_IDENTIFIER ON
13989GO
13990
13991
13992--------------------------------------------------------------------------------------------------------
13993
13994-- 게시물 답글
13995
13996CREATE PROC [dbo].[spWebReplyClanBoard]
13997 @Seq int,
13998 @UserID varchar(20),
13999 @Subject varchar(50),
14000 @Content varchar(4000),
14001 @FileName varchar(128),
14002 @Link varchar(255),
14003 @HTML smallint,
14004 @GR_ID int,
14005 @GR_Depth int,
14006 @GR_Pos int
14007AS
14008 SET NOCOUNT ON
14009 DECLARE @CLID int
14010 DECLARE @ParentThread int
14011 DECLARE @PrevThread int
14012
14013 SELECT @CLID = CLID FROM ClanBoard(NOLOCK) Where Seq = @Seq
14014 SELECT @ParentThread = Thread FROM ClanBoard(NOLOCK) Where Seq = @Seq
14015 SELECT @PrevThread = @ParentThread -1000 FROM ClanBoard(NOLOCK) where GR_ID =@GR_ID and GR_Depth = '0'
14016
14017 BEGIN TRAN
14018 UPDATE ClanBoard
14019 SET Thread = Thread - 1
14020 Where Thread < @ParentThread and Thread > @PrevThread
14021 IF (@@ERROR <> 0) BEGIN
14022 ROLLBACK TRAN
14023 RETURN
14024 END
14025
14026 UPDATE ClanBoard SET GR_Pos =GR_Pos+1
14027 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
14028 IF (@@ERROR <> 0) BEGIN
14029 ROLLBACK TRAN
14030 RETURN
14031 END
14032
14033 SET @GR_Depth = @GR_Depth+1;
14034 SET @GR_Pos = @GR_Pos + 1;
14035
14036 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
14037 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
14038 IF (@@ERROR <> 0) BEGIN
14039 ROLLBACK TRAN
14040 RETURN
14041 END
14042 COMMIT TRAN
14043
14044
14045
14046
14047GO
14048/****** Object: StoredProcedure [dbo].[spWebResetChar] Script Date: 28-05-2018 18:12:28 ******/
14049SET ANSI_NULLS ON
14050GO
14051SET QUOTED_IDENTIFIER ON
14052GO
14053
14054
14055-- ìºë¦í„° 초기화
14056CREATE PROC [dbo].[spWebResetChar]
14057 @CID INT
14058AS
14059SET NOCOUNT ON
14060
14061BEGIN
14062 -- 스탯 초기화
14063 UPDATE Character SET Level=1, XP=0, BP=0,
14064
14065 head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
14066 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL,
14067 custom1_slot=NULL, custom2_slot=NULL,
14068 GameCount=0, KillCount=0, DeathCount=0,
14069 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
14070 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL,
14071 custom1_itemid=NULL, custom2_itemid=NULL, QuestItemInfo=NULL
14072
14073 WHERE CID=@CID
14074
14075 -- ì•„ì´í…œ ì‚ì œ(ìƒìš© ì•„ì´í…œì€ ì œì™¸)
14076 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND ItemID < 500000
14077
14078END
14079
14080
14081
14082
14083
14084GO
14085/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14086SET ANSI_NULLS ON
14087GO
14088SET QUOTED_IDENTIFIER ON
14089GO
14090
14091
14092----------------------------------------------------------------------------
14093
14094-- 게시물 검색 by Subject
14095CREATE PROC [dbo].[spWebSearchClanAdsBoardbySubject]
14096 @Subject varchar(30)
14097AS
14098 SET NOCOUNT ON
14099 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14100 FROM ClanAdsBoard(NOLOCK)
14101 WHERE Subject like @Subject
14102 ORDER BY Thread DESC
14103
14104
14105
14106
14107GO
14108/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14109SET ANSI_NULLS ON
14110GO
14111SET QUOTED_IDENTIFIER ON
14112GO
14113
14114
14115----------------------------------------------------------------------------
14116
14117CREATE PROC [dbo].[spWebSearchClanAdsBoardbyUserID]
14118 @UserID varchar(20)
14119AS
14120 SET NOCOUNT ON
14121 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14122 FROM ClanAdsBoard (NOLOCK)
14123 WHERE UserID = @UserID
14124 ORDER BY Thread DESC
14125
14126
14127
14128
14129GO
14130/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14131SET ANSI_NULLS ON
14132GO
14133SET QUOTED_IDENTIFIER ON
14134GO
14135
14136
14137--------------------------------------------------------------------------------------------------------
14138
14139-- 게시물 검색 by Subject
14140
14141CREATE PROC [dbo].[spWebSearchClanBoardbySubject]
14142 @CLID int
14143, @Subject varchar(30)
14144AS
14145 SET NOCOUNT ON
14146 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14147 FROM ClanBoard(NOLOCK)
14148 WHERE CLID = @CLID and Subject like @Subject
14149 ORDER BY Thread DESC
14150
14151
14152
14153
14154GO
14155/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14156SET ANSI_NULLS ON
14157GO
14158SET QUOTED_IDENTIFIER ON
14159GO
14160
14161
14162--------------------------------------------------------------------------------------------------------
14163
14164-- 게시물 검색 by UserID
14165
14166CREATE PROC [dbo].[spWebSearchClanBoardbyUserID]
14167 @CLID int
14168, @UserID varchar(20)
14169AS
14170 SET NOCOUNT ON
14171 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14172 FROM ClanBoard(NOLOCK)
14173 WHERE CLID = @CLID and UserID = @UserID
14174 ORDER BY Thread DESC
14175
14176
14177
14178
14179GO
14180/****** Object: StoredProcedure [dbo].[spWebSearchClanMemberByCharName] Script Date: 28-05-2018 18:12:28 ******/
14181SET ANSI_NULLS ON
14182GO
14183SET QUOTED_IDENTIFIER ON
14184GO
14185
14186
14187---------------------------------------------------------------------------
14188
14189CREATE PROC [dbo].[spWebSearchClanMemberByCharName]
14190 @CLID int
14191, @CharName varchar(20)
14192AS
14193 SET NOCOUNT ON
14194 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
14195 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
14196 ON cm.CLID = @CLID AND c.CID = cm.CID AND c.Name = @CharName
14197 ORDER BY cm.RegDate DESC
14198
14199
14200
14201
14202GO
14203/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
14204SET ANSI_NULLS ON
14205GO
14206SET QUOTED_IDENTIFIER ON
14207GO
14208
14209
14210/* ìºë¦í„° ì´ë¦„으로 순위 검색 */
14211CREATE PROC [dbo].[spWebSearchTotalRankingByName]
14212 @Name varchar(24)
14213AS
14214SET NOCOUNT ON
14215BEGIN
14216 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14217 FROM TotalRanking(NOLOCK)
14218 WHERE Name = @Name
14219END
14220
14221
14222
14223
14224
14225
14226GO
14227/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
14228SET ANSI_NULLS ON
14229GO
14230SET QUOTED_IDENTIFIER ON
14231GO
14232
14233
14234
14235-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
14236CREATE PROC [dbo].[spWebSearchTotalRankingByNetmarbleID]
14237 @UserID varchar(20)
14238AS
14239SET NOCOUNT ON
14240BEGIN
14241 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14242 FROM TotalRanking (NOLOCK)
14243 WHERE UserID = @UserID
14244END
14245
14246
14247
14248
14249
14250GO
14251/****** Object: StoredProcedure [dbo].[spWebUndeleteChar] Script Date: 28-05-2018 18:12:28 ******/
14252SET ANSI_NULLS ON
14253GO
14254SET QUOTED_IDENTIFIER ON
14255GO
14256
14257
14258
14259CREATE PROC [dbo].[spWebUndeleteChar]
14260 @CID INT
14261AS
14262SET NOCOUNT ON
14263BEGIN
14264 DECLARE @AID INT
14265 DECLARE @Name VARCHAR(64)
14266 SELECT @Name = DeleteName, @AID=AID FROM Character(NOLOCK) WHERE CID=@CID
14267
14268 IF @AID IS NULL
14269 BEGIN
14270 SELECT 'It is not exist character.' AS ERROR, @CID AS CID
14271 GOTO label_finish
14272 END
14273
14274 --SELECT @Name AS Name
14275 IF @Name IS NULL
14276 BEGIN
14277 SELECT 'already exist character' AS ERROR, @CID AS CID
14278 GOTO label_finish
14279 END
14280
14281 -- find empty slot.
14282 DECLARE @CharNum INT
14283 SELECT @CharNum=a.CharNum FROM
14284 (
14285 SELECT 0 AS CharNum UNION
14286 SELECT 1 AS CharNum UNION
14287 SELECT 2 AS CharNum UNION
14288 SELECT 3 AS CharNum
14289 ) a WHERE NOT EXISTS
14290 (
14291 SELECT CharNum FROM Character(NOLOCK)
14292 WHERE AID=@AID AND DeleteFlag=0 AND CharNum=a.CharNum
14293 )
14294 IF @CharNum IS NULL
14295 BEGIN
14296 SELECT 'no more empty slot' AS ERROR, @CID AS CID
14297 GOTO label_finish
14298 END
14299
14300 DECLARE @ExistName VARCHAR(64)
14301 SELECT @ExistName = Name FROM Character(NOLOCK) WHERE AID=@AID AND CharNum=@CharNum
14302 IF @ExistName IS NOT NULL
14303 BEGIN
14304 SELECT 'already exist slot.' AS ERROR, @CID AS CID
14305 GOTO label_finish
14306 END
14307
14308 DECLARE @Count int
14309 SELECT @Count=COUNT(*) FROM Character(NOLOCK) WHERE Name=@Name
14310
14311 --SELECT @Name AS UndeleteTarget
14312
14313 IF ( @Count <= 0 )
14314 BEGIN
14315 Update Character Set Name=@Name WHERE CID=@CID
14316 Update Character Set CharNum=@CharNum WHERE CID=@CID
14317 Update Character Set DeleteFlag=0 WHERE CID=@CID
14318 Update Character Set DeleteName=NULL WHERE CID=@CID
14319
14320 SELECT 'completed restore' AS ERROR, @Name AS 'Name'
14321 END
14322 ELSE
14323 BEGIN
14324 SELECT 'already exist name' AS ERROR, @Name AS 'Name', @Count AS 'Count'
14325 END
14326
14327label_finish:
14328END
14329
14330
14331
14332
14333
14334
14335GO
14336/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
14337SET ANSI_NULLS ON
14338GO
14339SET QUOTED_IDENTIFIER ON
14340GO
14341
14342
14343----------------------------------------------------------------------------
14344
14345-- 게시물 ìˆ˜ì •
14346CREATE PROC [dbo].[spWebUpdateClanAdsBoard]
14347 @Seq int,
14348 @Subject varchar(50),
14349 @Content varchar(2000),
14350 @FileName varchar(128),
14351 @Link varchar(255),
14352 @HTML smallint
14353AS
14354 SET NOCOUNT ON
14355 UPDATE ClanAdsBoard
14356 SET Subject= @Subject, Content=@Content, FileName=@FileName, Link=@Link, HTML=@HTML
14357 WHERE Seq = @Seq
14358
14359
14360
14361
14362GO
14363/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14364SET ANSI_NULLS ON
14365GO
14366SET QUOTED_IDENTIFIER ON
14367GO
14368
14369
14370----------------------------------------------------------------------------
14371
14372CREATE PROC [dbo].[spWebUpdateClanAdsBoardReadCount]
14373 @Seq int
14374AS
14375 SET NOCOUNT ON
14376 UPDATE ClanAdsBoard SET ReadCount = ReadCount + 1 WHERE Seq = @Seq
14377
14378
14379
14380
14381GO
14382/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoard] Script Date: 28-05-2018 18:12:28 ******/
14383SET ANSI_NULLS ON
14384GO
14385SET QUOTED_IDENTIFIER ON
14386GO
14387
14388
14389--------------------------------------------------------------------------------------------------------
14390
14391
14392-- 게시물 ìˆ˜ì •
14393
14394CREATE PROC [dbo].[spWebUpdateClanBoard]
14395 @Seq int,
14396 @Subject varchar(50),
14397 @Content varchar(4000),
14398 @FileName varchar(128),
14399 @Link varchar(255),
14400 @HTML smallint
14401AS
14402 SET NOCOUNT ON
14403 UPDATE ClanBoard
14404 SET Subject= @Subject, Content=@Content,
14405 FileName=@FileName, Link=@Link, HTML=@HTML
14406 WHERE Seq = @Seq
14407
14408
14409
14410
14411GO
14412/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14413SET ANSI_NULLS ON
14414GO
14415SET QUOTED_IDENTIFIER ON
14416GO
14417
14418
14419--------------------------------------------------------------------------------------------------------
14420
14421-- 조회수 ì¦ê°€
14422
14423CREATE PROC [dbo].[spWebUpdateClanBoardReadCount]
14424 @Seq int
14425AS
14426 SET NOCOUNT ON
14427 Update ClanBoard Set ReadCount = ReadCount + 1 WHERE Seq = @Seq
14428
14429
14430
14431
14432GO
14433/****** Object: StoredProcedure [dbo].[spWinTheClanGame] Script Date: 28-05-2018 18:12:28 ******/
14434SET ANSI_NULLS ON
14435GO
14436SET QUOTED_IDENTIFIER ON
14437GO
14438
14439-- í´ëžœì „ ê²°ê³¼ ì—…ë°ì´íЏ
14440CREATE PROC [dbo].[spWinTheClanGame]
14441 @WinnerCLID int,
14442 @LoserCLID int,
14443 @IsDrawGame tinyint,
14444 @WinnerPoint int,
14445 @LoserPoint int,
14446 @WinnerClanName varchar(24),
14447 @LoserClanName varchar(24),
14448 @RoundWins tinyint,
14449 @RoundLosses tinyint,
14450 @MapID tinyint,
14451 @GameType tinyint,
14452 @WinnerMembers varchar(110),
14453 @LoserMembers varchar(110)
14454AS
14455 SET NOCOUNT ON -- 추가.
14456
14457 IF @IsDrawGame = 0
14458 BEGIN
14459 BEGIN TRAN
14460 -- ì´ê¸´íŒ€ Wins+1
14461 UPDATE Clan SET Wins=Wins+1, Point=Point+@WinnerPoint, TotalPoint=TotalPoint+@WinnerPoint WHERE CLID=@WinnerCLID
14462 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14463 ROLLBACK TRAN
14464 RETURN
14465 END
14466
14467 -- 진팀 Losses+1
14468 UPDATE Clan SET Losses=Losses+1, Point= game.fnGetMax(0, Point+(@LoserPoint)) WHERE CLID=@LoserCLID
14469 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14470 ROLLBACK TRAN
14471 RETURN
14472 END
14473-- UPDATE Clan SET Point=0 WHERE CLID=@LoserCLID AND Point<0
14474
14475 -- ì „ì 로그를 남긴다.
14476 INSERT INTO ClanGameLog(WinnerCLID, LoserCLID, WinnerClanName, LoserClanName, RoundWins, RoundLosses, MapID, GameType, RegDate, WinnerMembers, LoserMembers, WinnerPoint, LoserPoint)
14477 VALUES (@WinnerCLID, @LoserCLID, @WinnerClanName, @LoserClanName, @RoundWins, @RoundLosses, @MapID, @GameType, GETDATE(), @WinnerMembers, @LoserMembers, @WinnerPoint, @LoserPoint)
14478 IF 0 <> @@ERROR BEGIN -- 여기 추가.
14479 ROLLBACK TRAN
14480 RETURN
14481 END
14482 COMMIT TRAN
14483 END
14484 ELSE
14485 BEGIN
14486 UPDATE Clan SET Draws=Draws+1 WHERE CLID=@WinnerCLID OR CLID=@LoserCLID
14487 END
14488
14489
14490
14491
14492
14493
14494GO
14495/****** Object: StoredProcedure [dbo].[USP_sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
14496SET ANSI_NULLS ON
14497GO
14498SET QUOTED_IDENTIFIER ON
14499GO
14500
14501
14502create proc [dbo].[USP_sjr_TableSizeIncr]
14503
14504as
14505begin
14506 SET NOCOUNT ON
14507
14508 select identity(int,1,1) idx ,' insert sjr_TableSizeIncr (name,rows,reserved,date,index_size,unused) ' +char(10)+
14509 'exec sp_spaceused '+name as sql into #spaceusedTb
14510 from TestDB.dbo.sysobjects where xtype = 'U'
14511
14512
14513 DECLARE @sql varchar(400)
14514 DECLARE SQL_cursor CURSOR FOR
14515 SELECT sql
14516 FROM #spaceusedTb
14517 ORDER BY idx
14518 OPEN SQL_cursor
14519 FETCH NEXT FROM SQL_cursor
14520 INTO @sql
14521 WHILE @@FETCH_STATUS = 0
14522 BEGIN
14523 exec (@sql)
14524 FETCH NEXT FROM SQL_cursor
14525 INTO @sql
14526 END
14527 CLOSE SQL_cursor
14528 DEALLOCATE SQL_cursor
14529
14530end
14531
14532
14533
14534
14535
14536
14537
14538
14539GO
14540USE [master]
14541GO
14542ALTER DATABASE [TestDB] SET READ_WRITE
14543GO