· 8 years ago · Jun 14, 2018, 11:00 AM
1USE [master]
2GO
3/****** Object: Database [GunzDB] Script Date: 28-05-2018 18:12:26 ******/
4CREATE DATABASE [GunzDB]
5GO
6ALTER DATABASE [GunzDB] SET COMPATIBILITY_LEVEL = 100
7GO
8IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
9begin
10EXEC [GunzDB].[dbo].[sp_fulltext_database] @action = 'enable'
11end
12GO
13ALTER DATABASE [GunzDB] SET ANSI_NULL_DEFAULT OFF
14GO
15ALTER DATABASE [GunzDB] SET ANSI_NULLS OFF
16GO
17ALTER DATABASE [GunzDB] SET ANSI_PADDING OFF
18GO
19ALTER DATABASE [GunzDB] SET ANSI_WARNINGS OFF
20GO
21ALTER DATABASE [GunzDB] SET ARITHABORT OFF
22GO
23ALTER DATABASE [GunzDB] SET AUTO_CLOSE OFF
24GO
25ALTER DATABASE [GunzDB] SET AUTO_SHRINK OFF
26GO
27ALTER DATABASE [GunzDB] SET AUTO_UPDATE_STATISTICS ON
28GO
29ALTER DATABASE [GunzDB] SET CURSOR_CLOSE_ON_COMMIT OFF
30GO
31ALTER DATABASE [GunzDB] SET CURSOR_DEFAULT GLOBAL
32GO
33ALTER DATABASE [GunzDB] SET CONCAT_NULL_YIELDS_NULL OFF
34GO
35ALTER DATABASE [GunzDB] SET NUMERIC_ROUNDABORT OFF
36GO
37ALTER DATABASE [GunzDB] SET QUOTED_IDENTIFIER OFF
38GO
39ALTER DATABASE [GunzDB] SET RECURSIVE_TRIGGERS OFF
40GO
41ALTER DATABASE [GunzDB] SET DISABLE_BROKER
42GO
43ALTER DATABASE [GunzDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
44GO
45ALTER DATABASE [GunzDB] SET DATE_CORRELATION_OPTIMIZATION OFF
46GO
47ALTER DATABASE [GunzDB] SET TRUSTWORTHY OFF
48GO
49ALTER DATABASE [GunzDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
50GO
51ALTER DATABASE [GunzDB] SET PARAMETERIZATION SIMPLE
52GO
53ALTER DATABASE [GunzDB] SET READ_COMMITTED_SNAPSHOT OFF
54GO
55ALTER DATABASE [GunzDB] SET HONOR_BROKER_PRIORITY OFF
56GO
57ALTER DATABASE [GunzDB] SET RECOVERY SIMPLE
58GO
59ALTER DATABASE [GunzDB] SET MULTI_USER
60GO
61ALTER DATABASE [GunzDB] SET PAGE_VERIFY CHECKSUM
62GO
63ALTER DATABASE [GunzDB] SET DB_CHAINING OFF
64GO
65USE [GunzDB]
66GO
67/****** Object: UserDefinedFunction [dbo].[fnGetMax] Script Date: 28-05-2018 18:12:27 ******/
68SET ANSI_NULLS ON
69GO
70SET QUOTED_IDENTIFIER ON
71GO
72
73
74/* 최대값 구하는 함수 */
75CREATE FUNCTION [dbo].[fnGetMax]
76 (@n1 int,
77 @n2 int)
78RETURNS int
79AS
80BEGIN
81RETURN (CASE WHEN @n1 > @n2 THEN @n1 ELSE @n2 END)
82END
83
84
85
86
87
88GO
89/****** Object: UserDefinedFunction [dbo].[fnGetMin] Script Date: 28-05-2018 18:12:27 ******/
90SET ANSI_NULLS ON
91GO
92SET QUOTED_IDENTIFIER ON
93GO
94
95
96/* 최소값 구하는 함수 */
97CREATE FUNCTION [dbo].[fnGetMin]
98 (@n1 int,
99 @n2 int)
100RETURNS int
101AS
102BEGIN
103RETURN (CASE WHEN @n1 < @n2 THEN @n1 ELSE @n2 END)
104END
105
106
107
108
109
110GO
111/****** Object: UserDefinedFunction [dbo].[inet_aton] Script Date: 28-05-2018 18:12:27 ******/
112SET ANSI_NULLS ON
113GO
114SET QUOTED_IDENTIFIER ON
115GO
116
117CREATE FUNCTION [dbo].[inet_aton] (@IP VARCHAR(15))
118RETURNS BIGINT
119AS
120BEGIN
121 DECLARE @A BIGINT, @B BIGINT, @C BIGINT, @D BIGINT
122 DECLARE @iBegin INT, @iEnd INT
123
124 SELECT @iBegin=1
125 SELECT @iEnd=CHARINDEX('.', @IP)
126 SELECT @A=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
127
128 SELECT @iBegin=@iEnd+1
129 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
130 SELECT @B=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
131
132 SELECT @iBegin=@iEnd+1
133 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
134 SELECT @C=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
135
136 SELECT @iBegin=@iEnd+1
137 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
138 SELECT @D=CAST(SUBSTRING(@IP, @iBegin, 15) AS BIGINT)
139
140 DECLARE @IPNumber BIGINT
141 SELECT @IPNumber=@A*16777216+@B*65536+@C*256+@D
142
143 RETURN @IPNumber
144END
145
146
147
148
149GO
150/****** Object: Table [dbo].[Account] Script Date: 28-05-2018 18:12:27 ******/
151SET ANSI_NULLS ON
152GO
153SET QUOTED_IDENTIFIER ON
154GO
155CREATE TABLE [dbo].[Account](
156 [AID] [int] IDENTITY(1,1) NOT NULL,
157 [UserID] [varchar](20) NOT NULL,
158 [UGradeID] [int] NOT NULL,
159 [PGradeID] [int] NOT NULL,
160 [RegDate] [datetime] NOT NULL,
161 [Name] [varchar](50) NOT NULL,
162 [Email] [varchar](50) NULL,
163 [RegNum] [varchar](50) NULL,
164 [Age] [smallint] NULL,
165 [Sex] [tinyint] NULL,
166 [ZipCode] [varchar](50) NULL,
167 [Address] [varchar](256) NULL,
168 [Country] [varchar](50) NULL,
169 [LastCID] [int] NULL,
170 [Cert] [tinyint] NULL,
171 [HackingType] [tinyint] NULL,
172 [HackingRegTime] [smalldatetime] NULL,
173 [EndHackingBlockTime] [smalldatetime] NULL,
174 [LastLoginTime] [smalldatetime] NULL,
175 [ServerID] [tinyint] NULL,
176 [LastLogoutTime] [smalldatetime] NULL,
177 CONSTRAINT [Account_PK] PRIMARY KEY CLUSTERED
178(
179 [AID] ASC
180)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
181) ON [PRIMARY]
182
183GO
184/****** Object: Table [dbo].[AccountItem] Script Date: 28-05-2018 18:12:28 ******/
185SET ANSI_NULLS ON
186GO
187SET QUOTED_IDENTIFIER ON
188GO
189CREATE TABLE [dbo].[AccountItem](
190 [AIID] [int] IDENTITY(1,1) NOT NULL,
191 [AID] [int] NOT NULL,
192 [ItemID] [int] NOT NULL,
193 [RentDate] [datetime] NULL,
194 [RentHourPeriod] [smallint] NULL,
195 [Cnt] [smallint] NULL,
196 CONSTRAINT [Table1_PK] PRIMARY KEY CLUSTERED
197(
198 [AIID] ASC
199)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
200) ON [PRIMARY]
201
202GO
203/****** Object: Table [dbo].[AccountPenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
204SET ANSI_NULLS ON
205GO
206SET QUOTED_IDENTIFIER ON
207GO
208CREATE TABLE [dbo].[AccountPenaltyLog](
209 [PenaltyLogID] [int] IDENTITY(1,1) NOT NULL,
210 [AID] [int] NULL,
211 [UGradeID] [int] NULL,
212 [DayLeft] [int] NULL,
213 [RegDate] [smalldatetime] NULL,
214 [GMID] [varchar](20) NULL,
215PRIMARY KEY NONCLUSTERED
216(
217 [PenaltyLogID] ASC
218)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
219) ON [PRIMARY]
220
221GO
222/****** Object: Table [dbo].[AccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
223SET ANSI_NULLS ON
224GO
225SET QUOTED_IDENTIFIER ON
226GO
227CREATE TABLE [dbo].[AccountPenaltyPeriod](
228 [id] [int] IDENTITY(1,1) NOT NULL,
229 [AID] [int] NOT NULL,
230 [DayLeft] [int] NOT NULL,
231 CONSTRAINT [AccountPenaltyPeriod_PK] PRIMARY KEY CLUSTERED
232(
233 [id] ASC
234)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
235) ON [PRIMARY]
236
237GO
238/****** Object: Table [dbo].[BillingMethod] Script Date: 28-05-2018 18:12:28 ******/
239SET ANSI_NULLS ON
240GO
241SET QUOTED_IDENTIFIER ON
242GO
243CREATE TABLE [dbo].[BillingMethod](
244 [BillingMethodID] [int] NOT NULL,
245 [Name] [varchar](256) NOT NULL,
246 CONSTRAINT [BillingMethod_PK] PRIMARY KEY CLUSTERED
247(
248 [BillingMethodID] ASC
249)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
250) ON [PRIMARY]
251
252GO
253/****** Object: Table [dbo].[BlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
254SET ANSI_NULLS ON
255GO
256SET QUOTED_IDENTIFIER ON
257GO
258CREATE TABLE [dbo].[BlockCountryCode](
259 [CountryCode3] [char](3) NOT NULL,
260 [RoutingURL] [varchar](64) NULL,
261 [IsBlock] [tinyint] NULL,
262PRIMARY KEY CLUSTERED
263(
264 [CountryCode3] ASC
265)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
266) ON [PRIMARY]
267
268GO
269/****** Object: Table [dbo].[Blocks] Script Date: 28-05-2018 18:12:28 ******/
270SET ANSI_NULLS ON
271GO
272SET QUOTED_IDENTIFIER ON
273GO
274CREATE TABLE [dbo].[Blocks](
275 [AID] [int] NOT NULL,
276 [Type] [tinyint] NULL,
277 [EndDate] [datetime] NULL,
278 [Reason] [varchar](255) NULL,
279 CONSTRAINT [PK_Blocks] PRIMARY KEY CLUSTERED
280(
281 [AID] ASC
282)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
283) ON [PRIMARY]
284
285GO
286/****** Object: Table [dbo].[BringAccountItemLog] Script Date: 28-05-2018 18:12:28 ******/
287SET ANSI_NULLS ON
288GO
289SET QUOTED_IDENTIFIER ON
290GO
291CREATE TABLE [dbo].[BringAccountItemLog](
292 [id] [int] IDENTITY(1,1) NOT NULL,
293 [AID] [int] NULL,
294 [CID] [int] NULL,
295 [ItemID] [int] NOT NULL,
296 [Date] [datetime] NOT NULL,
297 CONSTRAINT [BringAccountItemLog_PK] PRIMARY KEY NONCLUSTERED
298(
299 [id] ASC
300)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
301) ON [PRIMARY]
302
303GO
304/****** Object: Table [dbo].[CashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
305SET ANSI_NULLS ON
306GO
307SET QUOTED_IDENTIFIER ON
308GO
309CREATE TABLE [dbo].[CashItemPresentLog](
310 [id] [int] IDENTITY(1,1) NOT NULL,
311 [SenderUserID] [varchar](20) NOT NULL,
312 [ReceiverAID] [int] NOT NULL,
313 [CSID] [int] NULL,
314 [CSSID] [int] NULL,
315 [Cash] [int] NOT NULL,
316 [Date] [datetime] NOT NULL,
317 [RentHourPeriod] [int] NULL,
318 [MobileCode] [char](16) NULL,
319 CONSTRAINT [CashItemPresentLog_PK] PRIMARY KEY CLUSTERED
320(
321 [id] ASC
322)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
323) ON [PRIMARY]
324
325GO
326/****** Object: Table [dbo].[CashSetItem] Script Date: 28-05-2018 18:12:28 ******/
327SET ANSI_NULLS ON
328GO
329SET QUOTED_IDENTIFIER ON
330GO
331CREATE TABLE [dbo].[CashSetItem](
332 [CSIID] [int] IDENTITY(1,1) NOT NULL,
333 [CSSID] [int] NOT NULL,
334 [CSID] [int] NOT NULL,
335 CONSTRAINT [CashSetItem_PK] PRIMARY KEY CLUSTERED
336(
337 [CSIID] ASC
338)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
339) ON [PRIMARY]
340
341GO
342/****** Object: Table [dbo].[CashSetShop] Script Date: 28-05-2018 18:12:28 ******/
343SET ANSI_NULLS ON
344GO
345SET QUOTED_IDENTIFIER ON
346GO
347CREATE TABLE [dbo].[CashSetShop](
348 [CSSID] [int] NOT NULL,
349 [Name] [varchar](64) NULL,
350 [Description] [varchar](1024) NULL,
351 [CashPrice] [int] NOT NULL,
352 [WebImgName] [varchar](64) NULL,
353 [NewItemOrder] [tinyint] NULL,
354 [ResSex] [tinyint] NULL,
355 [ResLevel] [int] NULL,
356 [Weight] [int] NULL,
357 [Opened] [tinyint] NULL,
358 [RegDate] [datetime] NULL,
359 [RentType] [tinyint] NULL,
360 CONSTRAINT [CashSetShop_PK] PRIMARY KEY CLUSTERED
361(
362 [CSSID] ASC
363)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
364) ON [PRIMARY]
365
366GO
367/****** Object: Table [dbo].[CashShop] Script Date: 28-05-2018 18:12:28 ******/
368SET ANSI_NULLS ON
369GO
370SET QUOTED_IDENTIFIER ON
371GO
372CREATE TABLE [dbo].[CashShop](
373 [CSID] [int] NOT NULL,
374 [ItemID] [int] NOT NULL,
375 [NewItemOrder] [tinyint] NULL,
376 [CashPrice] [int] NOT NULL,
377 [WebImgName] [varchar](64) NULL,
378 [Opened] [tinyint] NULL,
379 [RegDate] [datetime] NULL,
380 [RentType] [tinyint] NULL,
381 CONSTRAINT [CashShop_PK] PRIMARY KEY CLUSTERED
382(
383 [CSID] ASC
384)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
385) ON [PRIMARY]
386
387GO
388/****** Object: Table [dbo].[CashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
389SET ANSI_NULLS ON
390GO
391SET QUOTED_IDENTIFIER ON
392GO
393CREATE TABLE [dbo].[CashShopNewItem](
394 [id] [int] IDENTITY(1,1) NOT NULL,
395 [Category] [varchar](32) NOT NULL,
396 [NewOrder] [int] NOT NULL,
397 [IsSetItem] [int] NOT NULL,
398 [CSID] [int] NULL,
399 [CSSID] [int] NULL,
400 [Slot] [varchar](32) NOT NULL,
401 [Name] [varchar](256) NOT NULL,
402 [ResSex] [int] NOT NULL,
403 [ResLevel] [int] NOT NULL,
404 [CashPrice] [int] NOT NULL,
405 [WebImgName] [varchar](64) NULL,
406 [RegDate] [datetime] NOT NULL
407) ON [PRIMARY]
408
409GO
410/****** Object: Table [dbo].[CashShopNewItemCategory] Script Date: 28-05-2018 18:12:28 ******/
411SET ANSI_NULLS ON
412GO
413SET QUOTED_IDENTIFIER ON
414GO
415CREATE TABLE [dbo].[CashShopNewItemCategory](
416 [CategoryID] [int] NOT NULL,
417 [Description] [varchar](12) NOT NULL,
418PRIMARY KEY CLUSTERED
419(
420 [CategoryID] ASC
421)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
422UNIQUE NONCLUSTERED
423(
424 [Description] ASC
425)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
426) ON [PRIMARY]
427
428GO
429/****** Object: Table [dbo].[CashShopRank] Script Date: 28-05-2018 18:12:28 ******/
430SET ANSI_NULLS ON
431GO
432SET QUOTED_IDENTIFIER ON
433GO
434CREATE TABLE [dbo].[CashShopRank](
435 [id] [int] IDENTITY(1,1) NOT NULL,
436 [Rank] [int] NOT NULL,
437 [Category] [varchar](32) NOT NULL,
438 [Name] [varchar](256) NOT NULL,
439 [Count] [int] NOT NULL,
440 [CSID] [int] NULL,
441 [CSSID] [int] NULL,
442 [Slot] [varchar](32) NOT NULL,
443 [ResSex] [int] NOT NULL,
444 [ResLevel] [int] NOT NULL,
445 [CashPrice] [int] NOT NULL,
446 [RegDate] [datetime] NOT NULL,
447 CONSTRAINT [pk_CashShopRank_id] PRIMARY KEY CLUSTERED
448(
449 [id] ASC
450)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
451) ON [PRIMARY]
452
453GO
454/****** Object: Table [dbo].[Character] Script Date: 28-05-2018 18:12:28 ******/
455SET ANSI_NULLS ON
456GO
457SET QUOTED_IDENTIFIER ON
458GO
459CREATE TABLE [dbo].[Character](
460 [CID] [int] IDENTITY(1,1) NOT NULL,
461 [AID] [int] NOT NULL,
462 [Name] [varchar](24) NOT NULL,
463 [Level] [smallint] NOT NULL,
464 [Sex] [tinyint] NOT NULL,
465 [CharNum] [smallint] NOT NULL,
466 [Hair] [tinyint] NULL,
467 [Face] [tinyint] NULL,
468 [XP] [int] NOT NULL,
469 [BP] [int] NOT NULL,
470 [HP] [smallint] NULL,
471 [AP] [smallint] NULL,
472 [FR] [int] NULL,
473 [CR] [int] NULL,
474 [ER] [int] NULL,
475 [WR] [int] NULL,
476 [head_slot] [int] NULL,
477 [chest_slot] [int] NULL,
478 [hands_slot] [int] NULL,
479 [legs_slot] [int] NULL,
480 [feet_slot] [int] NULL,
481 [fingerl_slot] [int] NULL,
482 [fingerr_slot] [int] NULL,
483 [melee_slot] [int] NULL,
484 [primary_slot] [int] NULL,
485 [secondary_slot] [int] NULL,
486 [custom1_slot] [int] NULL,
487 [custom2_slot] [int] NULL,
488 [RegDate] [datetime] NULL,
489 [LastTime] [datetime] NULL,
490 [PlayTime] [int] NULL,
491 [GameCount] [int] NULL,
492 [KillCount] [int] NULL,
493 [DeathCount] [int] NULL,
494 [DeleteFlag] [tinyint] NULL,
495 [DeleteName] [varchar](24) NULL,
496 [head_itemid] [int] NULL,
497 [chest_itemid] [int] NULL,
498 [hands_itemid] [int] NULL,
499 [legs_itemid] [int] NULL,
500 [feet_itemid] [int] NULL,
501 [fingerl_itemid] [int] NULL,
502 [fingerr_itemid] [int] NULL,
503 [melee_itemid] [int] NULL,
504 [primary_itemid] [int] NULL,
505 [secondary_itemid] [int] NULL,
506 [custom1_itemid] [int] NULL,
507 [custom2_itemid] [int] NULL,
508 [QuestItemInfo] [binary](292) NULL,
509 CONSTRAINT [Character_PK] PRIMARY KEY CLUSTERED
510(
511 [CID] ASC
512)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
513) ON [PRIMARY]
514
515GO
516/****** Object: Table [dbo].[CharacterItem] Script Date: 28-05-2018 18:12:28 ******/
517SET ANSI_NULLS ON
518GO
519SET QUOTED_IDENTIFIER ON
520GO
521CREATE TABLE [dbo].[CharacterItem](
522 [CIID] [int] IDENTITY(1,1) NOT NULL,
523 [CID] [int] NULL,
524 [ItemID] [int] NOT NULL,
525 [RegDate] [datetime] NULL,
526 [RentDate] [datetime] NULL,
527 [RentHourPeriod] [smallint] NULL,
528 [Cnt] [smallint] NULL,
529 CONSTRAINT [CharacterItem_PK] PRIMARY KEY CLUSTERED
530(
531 [CIID] ASC
532)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
533) ON [PRIMARY]
534
535GO
536/****** Object: Table [dbo].[CharacterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
537SET ANSI_NULLS ON
538GO
539SET QUOTED_IDENTIFIER ON
540GO
541CREATE TABLE [dbo].[CharacterMakingLog](
542 [id] [int] IDENTITY(1,1) NOT NULL,
543 [AID] [int] NULL,
544 [CharName] [varchar](32) NULL,
545 [Type] [varchar](20) NULL,
546 [Date] [datetime] NULL
547) ON [PRIMARY]
548
549GO
550/****** Object: Table [dbo].[CharacterMgrLogByGM] Script Date: 28-05-2018 18:12:28 ******/
551SET ANSI_NULLS ON
552GO
553SET QUOTED_IDENTIFIER ON
554GO
555CREATE TABLE [dbo].[CharacterMgrLogByGM](
556 [CharMgrLogID] [int] IDENTITY(1,1) NOT NULL,
557 [CID] [int] NULL,
558 [CharName] [varchar](24) NOT NULL,
559 [CharMgrTypeID] [tinyint] NULL,
560 [GMID] [varchar](20) NOT NULL,
561 [NewName] [varchar](24) NULL,
562 [OrgValue] [int] NULL,
563 [NewValue] [int] NULL,
564 [RegDate] [smalldatetime] NULL,
565PRIMARY KEY NONCLUSTERED
566(
567 [CharMgrLogID] ASC
568)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
569) ON [PRIMARY]
570
571GO
572/****** Object: Table [dbo].[CharacterMgrType] Script Date: 28-05-2018 18:12:28 ******/
573SET ANSI_NULLS ON
574GO
575SET QUOTED_IDENTIFIER ON
576GO
577CREATE TABLE [dbo].[CharacterMgrType](
578 [CharMgrTypeID] [tinyint] NOT NULL,
579 [Description] [varchar](20) NULL,
580PRIMARY KEY CLUSTERED
581(
582 [CharMgrTypeID] ASC
583)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
584) ON [PRIMARY]
585
586GO
587/****** Object: Table [dbo].[Clan] Script Date: 28-05-2018 18:12:28 ******/
588SET ANSI_NULLS ON
589GO
590SET QUOTED_IDENTIFIER ON
591GO
592CREATE TABLE [dbo].[Clan](
593 [CLID] [int] IDENTITY(1,1) NOT NULL,
594 [Name] [varchar](24) NULL,
595 [Exp] [int] NOT NULL,
596 [Level] [tinyint] NOT NULL,
597 [Point] [int] NOT NULL,
598 [MasterCID] [int] NULL,
599 [Wins] [int] NOT NULL,
600 [MarkWebImg] [varchar](48) NULL,
601 [Introduction] [varchar](1024) NULL,
602 [RegDate] [datetime] NOT NULL,
603 [DeleteFlag] [tinyint] NULL,
604 [DeleteName] [varchar](24) NULL,
605 [Homepage] [varchar](128) NULL,
606 [Losses] [int] NOT NULL,
607 [Draws] [int] NOT NULL,
608 [Ranking] [int] NOT NULL,
609 [TotalPoint] [int] NOT NULL,
610 [Cafe_Url] [varchar](20) NULL,
611 [Email] [varchar](70) NULL,
612 [EmblemUrl] [varchar](256) NULL,
613 [RankIncrease] [int] NOT NULL,
614 [EmblemChecksum] [int] NOT NULL,
615 [LastDayRanking] [int] NOT NULL,
616 [LastMonthRanking] [int] NOT NULL,
617 CONSTRAINT [Clan_PK] PRIMARY KEY CLUSTERED
618(
619 [CLID] ASC
620)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
621) ON [PRIMARY]
622
623GO
624/****** Object: Table [dbo].[ClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
625SET ANSI_NULLS ON
626GO
627SET QUOTED_IDENTIFIER ON
628GO
629CREATE TABLE [dbo].[ClanAdsBoard](
630 [Seq] [int] IDENTITY(1,1) NOT NULL,
631 [UserID] [varchar](20) NOT NULL,
632 [Subject] [varchar](50) NOT NULL,
633 [RegDate] [smalldatetime] NOT NULL,
634 [ReadCount] [int] NOT NULL,
635 [Recommend] [int] NULL,
636 [Content] [varchar](2000) NOT NULL,
637 [FileName] [varchar](128) NULL,
638 [Link] [varchar](255) NULL,
639 [HTML] [smallint] NOT NULL,
640 [CommentCount] [int] NOT NULL,
641 [GR_ID] [int] NOT NULL,
642 [GR_Depth] [int] NOT NULL,
643 [GR_Pos] [int] NOT NULL,
644 [Thread] [int] NOT NULL,
645PRIMARY KEY CLUSTERED
646(
647 [Seq] ASC
648)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
649) ON [PRIMARY]
650
651GO
652/****** Object: Table [dbo].[ClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
653SET ANSI_NULLS ON
654GO
655SET QUOTED_IDENTIFIER ON
656GO
657CREATE TABLE [dbo].[ClanAdsComment](
658 [ID] [int] IDENTITY(1,1) NOT NULL,
659 [Seq] [int] NOT NULL,
660 [UserID] [varchar](20) NOT NULL,
661 [RegDate] [smalldatetime] NOT NULL,
662 [Content] [varchar](500) NOT NULL,
663PRIMARY KEY CLUSTERED
664(
665 [ID] ASC
666)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
667) ON [PRIMARY]
668
669GO
670/****** Object: Table [dbo].[ClanBoard] Script Date: 28-05-2018 18:12:28 ******/
671SET ANSI_NULLS ON
672GO
673SET QUOTED_IDENTIFIER ON
674GO
675CREATE TABLE [dbo].[ClanBoard](
676 [Seq] [int] IDENTITY(1,1) NOT NULL,
677 [CLID] [int] NOT NULL,
678 [UserID] [varchar](20) NOT NULL,
679 [Subject] [varchar](50) NOT NULL,
680 [RegDate] [smalldatetime] NOT NULL,
681 [ReadCount] [int] NOT NULL,
682 [Recommend] [int] NULL,
683 [Content] [varchar](4000) NOT NULL,
684 [FileName] [varchar](128) NULL,
685 [Link] [varchar](255) NULL,
686 [HTML] [smallint] NOT NULL,
687 [CommentCount] [int] NOT NULL,
688 [GR_ID] [int] NOT NULL,
689 [GR_Depth] [int] NOT NULL,
690 [GR_Pos] [int] NOT NULL,
691 [Thread] [int] NOT NULL,
692PRIMARY KEY CLUSTERED
693(
694 [Seq] ASC
695)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
696) ON [PRIMARY]
697
698GO
699/****** Object: Table [dbo].[ClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
700SET ANSI_NULLS ON
701GO
702SET QUOTED_IDENTIFIER ON
703GO
704CREATE TABLE [dbo].[ClanBoardComment](
705 [ID] [int] IDENTITY(1,1) NOT NULL,
706 [Seq] [int] NOT NULL,
707 [UserID] [varchar](20) NOT NULL,
708 [RegDate] [smalldatetime] NOT NULL,
709 [Content] [varchar](500) NOT NULL,
710PRIMARY KEY CLUSTERED
711(
712 [ID] ASC
713)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
714) ON [PRIMARY]
715
716GO
717/****** Object: Table [dbo].[ClanGameLog] Script Date: 28-05-2018 18:12:28 ******/
718SET ANSI_NULLS ON
719GO
720SET QUOTED_IDENTIFIER ON
721GO
722CREATE TABLE [dbo].[ClanGameLog](
723 [id] [int] IDENTITY(1,1) NOT NULL,
724 [WinnerCLID] [int] NOT NULL,
725 [LoserCLID] [int] NOT NULL,
726 [WinnerClanName] [varchar](24) NULL,
727 [LoserClanName] [varchar](24) NULL,
728 [WinnerMembers] [varchar](110) NULL,
729 [LoserMembers] [varchar](110) NULL,
730 [RoundWins] [tinyint] NOT NULL,
731 [RoundLosses] [tinyint] NOT NULL,
732 [MapID] [tinyint] NOT NULL,
733 [GameType] [tinyint] NOT NULL,
734 [RegDate] [datetime] NOT NULL,
735 [WinnerPoint] [int] NULL,
736 [LoserPoint] [int] NULL,
737 CONSTRAINT [ClanGameLog_PK] PRIMARY KEY NONCLUSTERED
738(
739 [id] ASC
740)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
741) ON [PRIMARY]
742
743GO
744/****** Object: Table [dbo].[ClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
745SET ANSI_NULLS ON
746GO
747SET QUOTED_IDENTIFIER ON
748GO
749CREATE TABLE [dbo].[ClanHonorRanking](
750 [id] [int] IDENTITY(1,1) NOT NULL,
751 [CLID] [int] NULL,
752 [ClanName] [varchar](24) NOT NULL,
753 [Point] [int] NULL,
754 [Wins] [int] NULL,
755 [Losses] [int] NULL,
756 [Ranking] [int] NULL,
757 [Year] [smallint] NULL,
758 [Month] [tinyint] NULL,
759 [RankIncrease] [int] NOT NULL,
760 CONSTRAINT [PK_ClanHonorRanking_ID] PRIMARY KEY CLUSTERED
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].[ClanMember] Script Date: 28-05-2018 18:12:28 ******/
768SET ANSI_NULLS ON
769GO
770SET QUOTED_IDENTIFIER ON
771GO
772CREATE TABLE [dbo].[ClanMember](
773 [CMID] [int] IDENTITY(1,1) NOT NULL,
774 [CLID] [int] NULL,
775 [CID] [int] NULL,
776 [Grade] [tinyint] NOT NULL,
777 [RegDate] [datetime] NOT NULL,
778 [ContPoint] [int] NOT NULL,
779 CONSTRAINT [ClanMember_PK] PRIMARY KEY CLUSTERED
780(
781 [CMID] ASC
782)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
783) ON [PRIMARY]
784
785GO
786/****** Object: Table [dbo].[ClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
787SET ANSI_NULLS ON
788GO
789SET QUOTED_IDENTIFIER ON
790GO
791CREATE TABLE [dbo].[ClanMemberGrade](
792 [GradeID] [int] NOT NULL,
793 [Grade] [varchar](24) NOT NULL,
794PRIMARY KEY CLUSTERED
795(
796 [GradeID] ASC
797)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
798) ON [PRIMARY]
799
800GO
801/****** Object: Table [dbo].[CountryCode] Script Date: 28-05-2018 18:12:28 ******/
802SET ANSI_NULLS ON
803GO
804SET QUOTED_IDENTIFIER ON
805GO
806CREATE TABLE [dbo].[CountryCode](
807 [CountryCode3] [char](3) NOT NULL,
808 [CountryName] [varchar](50) NULL,
809PRIMARY KEY CLUSTERED
810(
811 [CountryCode3] ASC
812)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
813) ON [PRIMARY]
814
815GO
816/****** Object: Table [dbo].[CustomIP] Script Date: 28-05-2018 18:12:28 ******/
817SET ANSI_NULLS ON
818GO
819SET QUOTED_IDENTIFIER ON
820GO
821CREATE TABLE [dbo].[CustomIP](
822 [IPFrom] [bigint] NOT NULL,
823 [IPTo] [bigint] NOT NULL,
824 [IsBlock] [tinyint] NOT NULL,
825 [CountryCode3] [char](3) NOT NULL,
826 [Comment] [varchar](128) NULL,
827 [RegDate] [smalldatetime] NULL,
828UNIQUE NONCLUSTERED
829(
830 [IPFrom] ASC
831)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
832UNIQUE NONCLUSTERED
833(
834 [IPTo] 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].[DayRanking] Script Date: 28-05-2018 18:12:28 ******/
840SET ANSI_NULLS ON
841GO
842SET QUOTED_IDENTIFIER ON
843GO
844CREATE TABLE [dbo].[DayRanking](
845 [id] [int] IDENTITY(1,1) NOT NULL,
846 [Name] [varchar](24) NOT NULL,
847 [Level] [smallint] NOT NULL,
848 [Point] [int] NULL,
849 [Rank] [int] NULL,
850 CONSTRAINT [PK_DayRanking_ID] PRIMARY KEY CLUSTERED
851(
852 [id] ASC
853)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
854) ON [PRIMARY]
855
856GO
857/****** Object: Table [dbo].[dtproperties] Script Date: 28-05-2018 18:12:28 ******/
858SET ANSI_NULLS ON
859GO
860SET QUOTED_IDENTIFIER ON
861GO
862CREATE TABLE [dbo].[dtproperties](
863 [id] [int] IDENTITY(1,1) NOT NULL,
864 [objectid] [int] NULL,
865 [property] [varchar](64) NOT NULL,
866 [value] [varchar](255) NULL,
867 [uvalue] [nvarchar](255) NULL,
868 [lvalue] [image] NULL,
869 [version] [int] NOT NULL,
870 CONSTRAINT [pk_dtproperties] PRIMARY KEY CLUSTERED
871(
872 [id] ASC,
873 [property] ASC
874)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
875) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
876
877GO
878/****** Object: Table [dbo].[Effect] Script Date: 28-05-2018 18:12:28 ******/
879SET ANSI_NULLS ON
880GO
881SET QUOTED_IDENTIFIER ON
882GO
883CREATE TABLE [dbo].[Effect](
884 [ID] [int] NOT NULL,
885 [Name] [varchar](32) NOT NULL,
886 [Area] [int] NULL,
887 [Time] [int] NULL,
888 [ModHP] [int] NULL,
889 [ModAP] [int] NULL,
890 [ModMaxWT] [int] NULL,
891 [ModSF] [int] NULL,
892 [ModFR] [int] NULL,
893 [ModCR] [int] NULL,
894 [ModPR] [int] NULL,
895 [ModLR] [int] NULL,
896 [ResAP] [int] NULL,
897 [ResFR] [int] NULL,
898 [ResCR] [int] NULL,
899 [ResPR] [int] NULL,
900 [ResLR] [int] NULL,
901 [Stun] [int] NULL,
902 [KnockBack] [int] NULL,
903 [Smoke] [int] NULL,
904 [Flash] [int] NULL,
905 [Tear] [int] NULL,
906 [Flame] [int] NULL,
907 CONSTRAINT [Effect_PK] PRIMARY KEY CLUSTERED
908(
909 [ID] ASC
910)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
911) ON [PRIMARY]
912
913GO
914/****** Object: Table [dbo].[Event] Script Date: 28-05-2018 18:12:28 ******/
915SET ANSI_NULLS ON
916GO
917SET QUOTED_IDENTIFIER ON
918GO
919CREATE TABLE [dbo].[Event](
920 [AID] [int] NOT NULL,
921 [CID] [int] NOT NULL,
922 [RegDate] [smalldatetime] NOT NULL,
923 [Checked] [bit] NULL,
924 [EventName] [varchar](24) NULL
925) ON [PRIMARY]
926
927GO
928/****** Object: Table [dbo].[Event_ClanPointRanking] Script Date: 28-05-2018 18:12:28 ******/
929SET ANSI_NULLS ON
930GO
931SET QUOTED_IDENTIFIER ON
932GO
933CREATE TABLE [dbo].[Event_ClanPointRanking](
934 [id] [int] IDENTITY(1,1) NOT NULL,
935 [Rank] [int] NOT NULL,
936 [CLID] [int] NOT NULL,
937 [Name] [varchar](24) NOT NULL,
938 [Count] [int] NOT NULL,
939 [Point] [int] NOT NULL,
940 [RegDate] [datetime] NOT NULL
941) ON [PRIMARY]
942
943GO
944/****** Object: Table [dbo].[Friend] Script Date: 28-05-2018 18:12:28 ******/
945SET ANSI_NULLS ON
946GO
947SET QUOTED_IDENTIFIER ON
948GO
949CREATE TABLE [dbo].[Friend](
950 [id] [int] IDENTITY(1,1) NOT NULL,
951 [CID] [int] NOT NULL,
952 [FriendCID] [int] NOT NULL,
953 [Type] [int] NOT NULL,
954 [Favorite] [tinyint] NULL,
955 [DeleteFlag] [tinyint] NULL,
956 CONSTRAINT [Friend_PK] PRIMARY KEY CLUSTERED
957(
958 [id] ASC
959)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
960) ON [PRIMARY]
961
962GO
963/****** Object: Table [dbo].[GameLog] Script Date: 28-05-2018 18:12:28 ******/
964SET ANSI_NULLS ON
965GO
966SET QUOTED_IDENTIFIER ON
967GO
968CREATE TABLE [dbo].[GameLog](
969 [id] [int] IDENTITY(1,1) NOT NULL,
970 [GameName] [varchar](64) NULL,
971 [MasterCID] [int] NULL,
972 [Map] [varchar](32) NULL,
973 [GameType] [varchar](24) NULL,
974 [Round] [int] NULL,
975 [StartTime] [datetime] NOT NULL,
976 [PlayerCount] [tinyint] NULL,
977 [Players] [varchar](1000) NULL
978) ON [PRIMARY]
979
980GO
981/****** Object: Table [dbo].[GameType] Script Date: 28-05-2018 18:12:28 ******/
982SET ANSI_NULLS ON
983GO
984SET QUOTED_IDENTIFIER ON
985GO
986CREATE TABLE [dbo].[GameType](
987 [GameTypeID] [int] NOT NULL,
988 [Name] [varchar](256) NULL,
989 CONSTRAINT [GameType_PK] PRIMARY KEY CLUSTERED
990(
991 [GameTypeID] ASC
992)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
993) ON [PRIMARY]
994
995GO
996/****** Object: Table [dbo].[IPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
997SET ANSI_NULLS ON
998GO
999SET QUOTED_IDENTIFIER ON
1000GO
1001CREATE TABLE [dbo].[IPtoCountry](
1002 [IPFrom] [varchar](8000) NULL,
1003 [IPTo] [varchar](8000) NULL,
1004 [CountryCode2] [varchar](8000) NULL,
1005 [CountryCode3] [varchar](8000) NULL,
1006 [CountryName] [varchar](8000) NULL
1007) ON [PRIMARY]
1008
1009GO
1010/****** Object: Table [dbo].[IPtoCountryOld060612] Script Date: 28-05-2018 18:12:28 ******/
1011SET ANSI_NULLS ON
1012GO
1013SET QUOTED_IDENTIFIER ON
1014GO
1015CREATE TABLE [dbo].[IPtoCountryOld060612](
1016 [IPFrom] [numeric](18, 0) NOT NULL,
1017 [IPTo] [numeric](18, 0) NOT NULL,
1018 [CountryCode2] [char](2) NOT NULL,
1019 [CountryCode3] [char](3) NOT NULL,
1020 [CountryName] [varchar](50) NOT NULL,
1021 CONSTRAINT [PK_IPtoCountry_IPRange] PRIMARY KEY CLUSTERED
1022(
1023 [IPFrom] ASC,
1024 [IPTo] ASC
1025)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1026) ON [PRIMARY]
1027
1028GO
1029/****** Object: Table [dbo].[Item] Script Date: 28-05-2018 18:12:28 ******/
1030SET ANSI_NULLS ON
1031GO
1032SET QUOTED_IDENTIFIER ON
1033GO
1034CREATE TABLE [dbo].[Item](
1035 [ItemID] [int] NOT NULL,
1036 [Name] [varchar](256) NOT NULL,
1037 [TotalPoint] [int] NULL,
1038 [ResSex] [tinyint] NULL,
1039 [ResRace] [tinyint] NULL,
1040 [ResLevel] [int] NULL,
1041 [Slot] [tinyint] NULL,
1042 [Weight] [int] NULL,
1043 [BountyPrice] [int] NULL,
1044 [Damage] [int] NULL,
1045 [Delay] [int] NULL,
1046 [EffectID] [int] NULL,
1047 [Controllability] [int] NULL,
1048 [Magazine] [int] NULL,
1049 [ReloadTime] [int] NULL,
1050 [SlugOutput] [tinyint] NULL,
1051 [Gadget] [int] NULL,
1052 [HP] [int] NULL,
1053 [AP] [int] NULL,
1054 [MAXWT] [int] NULL,
1055 [SF] [int] NULL,
1056 [FR] [int] NULL,
1057 [CR] [int] NULL,
1058 [PR] [int] NULL,
1059 [LR] [int] NULL,
1060 [BlendColor] [int] NULL,
1061 [ModelName] [varchar](64) NULL,
1062 [Description] [varchar](1024) NULL,
1063 [MaxBullet] [int] NULL,
1064 [LimitSpeed] [tinyint] NULL,
1065 [IsCashItem] [tinyint] NULL,
1066 CONSTRAINT [Item_PK] PRIMARY KEY CLUSTERED
1067(
1068 [ItemID] ASC
1069)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1070) ON [PRIMARY]
1071
1072GO
1073/****** Object: Table [dbo].[ItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
1074SET ANSI_NULLS ON
1075GO
1076SET QUOTED_IDENTIFIER ON
1077GO
1078CREATE TABLE [dbo].[ItemPurchaseLogByBounty](
1079 [id] [int] IDENTITY(1,1) NOT NULL,
1080 [ItemID] [int] NOT NULL,
1081 [CID] [int] NULL,
1082 [Date] [datetime] NULL,
1083 [Bounty] [int] NULL,
1084 [CharBounty] [int] NULL,
1085 [Type] [varchar](20) NULL
1086) ON [PRIMARY]
1087
1088GO
1089/****** Object: Table [dbo].[ItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1090SET ANSI_NULLS ON
1091GO
1092SET QUOTED_IDENTIFIER ON
1093GO
1094CREATE TABLE [dbo].[ItemPurchaseLogByCash](
1095 [id] [int] IDENTITY(1,1) NOT NULL,
1096 [AID] [int] NULL,
1097 [ItemID] [int] NOT NULL,
1098 [Date] [datetime] NOT NULL,
1099 [Cash] [int] NULL,
1100 [RentHourPeriod] [int] NULL,
1101 [MobileCode] [char](16) NULL
1102) ON [PRIMARY]
1103
1104GO
1105/****** Object: Table [dbo].[ItemSlotType] Script Date: 28-05-2018 18:12:28 ******/
1106SET ANSI_NULLS ON
1107GO
1108SET QUOTED_IDENTIFIER ON
1109GO
1110CREATE TABLE [dbo].[ItemSlotType](
1111 [SlotType] [int] NOT NULL,
1112 [Description] [varchar](24) NULL,
1113 [Category] [varchar](24) NULL,
1114PRIMARY KEY CLUSTERED
1115(
1116 [SlotType] ASC
1117)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1118) ON [PRIMARY]
1119
1120GO
1121/****** Object: Table [dbo].[KillLog] Script Date: 28-05-2018 18:12:28 ******/
1122SET ANSI_NULLS ON
1123GO
1124SET QUOTED_IDENTIFIER ON
1125GO
1126CREATE TABLE [dbo].[KillLog](
1127 [id] [int] IDENTITY(1,1) NOT NULL,
1128 [AttackerCID] [int] NULL,
1129 [VictimCID] [int] NULL,
1130 [Time] [datetime] NULL,
1131 CONSTRAINT [KillLog_PK] PRIMARY KEY CLUSTERED
1132(
1133 [id] ASC
1134)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1135) ON [PRIMARY]
1136
1137GO
1138/****** Object: Table [dbo].[Level] Script Date: 28-05-2018 18:12:28 ******/
1139SET ANSI_NULLS ON
1140GO
1141SET QUOTED_IDENTIFIER ON
1142GO
1143CREATE TABLE [dbo].[Level](
1144 [Level] [smallint] NOT NULL,
1145 [MinXP] [int] NULL,
1146PRIMARY KEY CLUSTERED
1147(
1148 [Level] ASC
1149)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1150) ON [PRIMARY]
1151
1152GO
1153/****** Object: Table [dbo].[LevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
1154SET ANSI_NULLS ON
1155GO
1156SET QUOTED_IDENTIFIER ON
1157GO
1158CREATE TABLE [dbo].[LevelUpLog](
1159 [id] [int] IDENTITY(1,1) NOT NULL,
1160 [CID] [int] NULL,
1161 [Level] [smallint] NULL,
1162 [BP] [int] NULL,
1163 [KillCount] [int] NULL,
1164 [DeathCount] [int] NULL,
1165 [PlayTime] [int] NULL,
1166 [Date] [datetime] NULL,
1167 CONSTRAINT [LevelUpLog_PK_20050310] PRIMARY KEY NONCLUSTERED
1168(
1169 [id] ASC
1170)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1171) ON [PRIMARY]
1172
1173GO
1174/****** Object: Table [dbo].[LocatorCountryStatistics] Script Date: 28-05-2018 18:12:28 ******/
1175SET ANSI_NULLS ON
1176GO
1177SET QUOTED_IDENTIFIER ON
1178GO
1179CREATE TABLE [dbo].[LocatorCountryStatistics](
1180 [LocatorID] [int] NULL,
1181 [CountryCode3] [char](3) NULL,
1182 [Count] [int] NULL,
1183 [RegDate] [smalldatetime] NULL
1184) ON [PRIMARY]
1185
1186GO
1187/****** Object: Table [dbo].[LocatorLog] Script Date: 28-05-2018 18:12:28 ******/
1188SET ANSI_NULLS ON
1189GO
1190SET QUOTED_IDENTIFIER ON
1191GO
1192CREATE TABLE [dbo].[LocatorLog](
1193 [LocatorID] [int] NULL,
1194 [CountryCode3] [varchar](3) NULL,
1195 [Count] [int] NULL,
1196 [RegDate] [smalldatetime] NULL
1197) ON [PRIMARY]
1198
1199GO
1200/****** Object: Table [dbo].[LocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
1201SET ANSI_NULLS ON
1202GO
1203SET QUOTED_IDENTIFIER ON
1204GO
1205CREATE TABLE [dbo].[LocatorStatus](
1206 [LocatorID] [int] NOT NULL,
1207 [IP] [varchar](15) NOT NULL,
1208 [Port] [int] NOT NULL,
1209 [RecvCount] [int] NULL,
1210 [SendCount] [int] NULL,
1211 [BlockCount] [int] NULL,
1212 [DuplicatedCount] [int] NULL,
1213 [UpdateElapsedTime] [int] NOT NULL,
1214 [LastUpdatedTime] [datetime] NULL,
1215PRIMARY KEY CLUSTERED
1216(
1217 [LocatorID] ASC
1218)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1219UNIQUE NONCLUSTERED
1220(
1221 [IP] ASC
1222)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1223) ON [PRIMARY]
1224
1225GO
1226/****** Object: Table [dbo].[Login] Script Date: 28-05-2018 18:12:28 ******/
1227SET ANSI_NULLS ON
1228GO
1229SET QUOTED_IDENTIFIER ON
1230GO
1231CREATE TABLE [dbo].[Login](
1232 [UserID] [varchar](20) NOT NULL,
1233 [AID] [int] NOT NULL,
1234 [LastConnDate] [datetime] NULL,
1235 [LastIP] [varchar](20) NULL,
1236 [PasswordData] [varchar](128) NULL,
1237 CONSTRAINT [Login_PK] PRIMARY KEY CLUSTERED
1238(
1239 [UserID] ASC
1240)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1241) ON [PRIMARY]
1242
1243GO
1244/****** Object: Table [dbo].[Map] Script Date: 28-05-2018 18:12:28 ******/
1245SET ANSI_NULLS ON
1246GO
1247SET QUOTED_IDENTIFIER ON
1248GO
1249CREATE TABLE [dbo].[Map](
1250 [MapID] [int] NOT NULL,
1251 [Name] [varchar](256) NOT NULL,
1252 [MaxPlayer] [int] NOT NULL,
1253 CONSTRAINT [Map_PK] PRIMARY KEY CLUSTERED
1254(
1255 [MapID] ASC
1256)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1257) ON [PRIMARY]
1258
1259GO
1260/****** Object: Table [dbo].[PenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
1261SET ANSI_NULLS ON
1262GO
1263SET QUOTED_IDENTIFIER ON
1264GO
1265CREATE TABLE [dbo].[PenaltyLog](
1266 [id] [int] IDENTITY(1,1) NOT NULL,
1267 [AID] [int] NOT NULL,
1268 [UGradeID] [int] NOT NULL,
1269 [Date] [datetime] NOT NULL,
1270 CONSTRAINT [PenaltyLog_PK] PRIMARY KEY CLUSTERED
1271(
1272 [id] ASC
1273)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1274) ON [PRIMARY]
1275
1276GO
1277/****** Object: Table [dbo].[PersonalinfoGunz] Script Date: 28-05-2018 18:12:28 ******/
1278SET ANSI_NULLS ON
1279GO
1280SET QUOTED_IDENTIFIER ON
1281GO
1282CREATE TABLE [dbo].[PersonalinfoGunz](
1283 [AID] [int] NOT NULL,
1284 [birthday] [smalldatetime] NULL,
1285 [city] [nvarchar](50) NULL,
1286 [state] [char](2) NULL,
1287 [connecType] [nvarchar](30) NULL,
1288 [phone] [varchar](15) NULL,
1289 [speed] [varchar](50) NULL,
1290 [msgLU] [bit] NULL,
1291 [statusLUA] [bit] NOT NULL,
1292 CONSTRAINT [PK_PersonalinfoGunz] PRIMARY KEY CLUSTERED
1293(
1294 [AID] ASC
1295)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1296) ON [PRIMARY]
1297
1298GO
1299/****** Object: Table [dbo].[PlayerLog] Script Date: 28-05-2018 18:12:28 ******/
1300SET ANSI_NULLS ON
1301GO
1302SET QUOTED_IDENTIFIER ON
1303GO
1304CREATE TABLE [dbo].[PlayerLog](
1305 [id] [int] IDENTITY(1,1) NOT NULL,
1306 [CID] [int] NULL,
1307 [DisTime] [datetime] NULL,
1308 [PlayTime] [int] NULL,
1309 [Kills] [int] NULL,
1310 [Deaths] [int] NULL,
1311 [XP] [int] NULL,
1312 [TotalXP] [int] NULL
1313) ON [PRIMARY]
1314
1315GO
1316/****** Object: Table [dbo].[PremiumGrade] Script Date: 28-05-2018 18:12:28 ******/
1317SET ANSI_NULLS ON
1318GO
1319SET QUOTED_IDENTIFIER ON
1320GO
1321CREATE TABLE [dbo].[PremiumGrade](
1322 [PGradeID] [int] NOT NULL,
1323 [Name] [varchar](128) NOT NULL,
1324 CONSTRAINT [PremiumGrade_PK] PRIMARY KEY CLUSTERED
1325(
1326 [PGradeID] ASC
1327)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1328) ON [PRIMARY]
1329
1330GO
1331/****** Object: Table [dbo].[PurchaseMethod] Script Date: 28-05-2018 18:12:28 ******/
1332SET ANSI_NULLS ON
1333GO
1334SET QUOTED_IDENTIFIER ON
1335GO
1336CREATE TABLE [dbo].[PurchaseMethod](
1337 [PurchaseMethodID] [int] NOT NULL,
1338 [Name] [varchar](256) NULL,
1339 CONSTRAINT [PurchaseMethod_PK] PRIMARY KEY CLUSTERED
1340(
1341 [PurchaseMethodID] ASC
1342)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1343) ON [PRIMARY]
1344
1345GO
1346/****** Object: Table [dbo].[QuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
1347SET ANSI_NULLS ON
1348GO
1349SET QUOTED_IDENTIFIER ON
1350GO
1351CREATE TABLE [dbo].[QuestGameLog](
1352 [id] [int] IDENTITY(1,1) NOT NULL,
1353 [GameName] [varchar](64) NULL,
1354 [Master] [int] NOT NULL,
1355 [Player1] [int] NULL,
1356 [Player2] [int] NULL,
1357 [Player3] [int] NULL,
1358 [TotalQItemCount] [tinyint] NULL,
1359 [ScenarioID] [smallint] NOT NULL,
1360 [StartTime] [smalldatetime] NOT NULL,
1361 [EndTime] [smalldatetime] NOT NULL,
1362PRIMARY KEY NONCLUSTERED
1363(
1364 [id] 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].[QuestItem] Script Date: 28-05-2018 18:12:28 ******/
1370SET ANSI_NULLS ON
1371GO
1372SET QUOTED_IDENTIFIER ON
1373GO
1374CREATE TABLE [dbo].[QuestItem](
1375 [QIID] [int] NOT NULL,
1376 [Name] [char](32) NULL,
1377 [Level] [tinyint] NULL,
1378 [Description] [varchar](200) NULL,
1379 [Price] [int] NULL,
1380 [UniqueItem] [bit] NOT NULL,
1381 [Sacrifice] [bit] NOT NULL,
1382 [Type] [char](10) NULL,
1383 [Param] [int] NULL,
1384PRIMARY KEY CLUSTERED
1385(
1386 [QIID] ASC
1387)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1388) ON [PRIMARY]
1389
1390GO
1391/****** Object: Table [dbo].[QUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
1392SET ANSI_NULLS ON
1393GO
1394SET QUOTED_IDENTIFIER ON
1395GO
1396CREATE TABLE [dbo].[QUniqueItemLog](
1397 [QUILID] [int] IDENTITY(1,1) NOT NULL,
1398 [QGLID] [int] NULL,
1399 [CID] [int] NOT NULL,
1400 [QIID] [int] NOT NULL,
1401PRIMARY KEY NONCLUSTERED
1402(
1403 [QUILID] ASC
1404)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1405) ON [PRIMARY]
1406
1407GO
1408/****** Object: Table [dbo].[RentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1409SET ANSI_NULLS ON
1410GO
1411SET QUOTED_IDENTIFIER ON
1412GO
1413CREATE TABLE [dbo].[RentCashSetShopPrice](
1414 [RCSSPID] [int] IDENTITY(1,1) NOT NULL,
1415 [CSSID] [int] NULL,
1416 [RentHourPeriod] [smallint] NULL,
1417 [CashPrice] [int] NULL,
1418PRIMARY KEY CLUSTERED
1419(
1420 [RCSSPID] ASC
1421)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1422) ON [PRIMARY]
1423
1424GO
1425/****** Object: Table [dbo].[RentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1426SET ANSI_NULLS ON
1427GO
1428SET QUOTED_IDENTIFIER ON
1429GO
1430CREATE TABLE [dbo].[RentCashShopPrice](
1431 [RCSPID] [int] IDENTITY(1,1) NOT NULL,
1432 [CSID] [int] NULL,
1433 [RentHourPeriod] [smallint] NULL,
1434 [CashPrice] [int] NULL,
1435PRIMARY KEY CLUSTERED
1436(
1437 [RCSPID] ASC
1438)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1439) ON [PRIMARY]
1440
1441GO
1442/****** Object: Table [dbo].[RentPeriodDay] Script Date: 28-05-2018 18:12:28 ******/
1443SET ANSI_NULLS ON
1444GO
1445SET QUOTED_IDENTIFIER ON
1446GO
1447CREATE TABLE [dbo].[RentPeriodDay](
1448 [Day] [int] NOT NULL,
1449 [Hour] [int] NOT NULL,
1450PRIMARY KEY CLUSTERED
1451(
1452 [Day] ASC
1453)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1454UNIQUE NONCLUSTERED
1455(
1456 [Hour] ASC
1457)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1458) ON [PRIMARY]
1459
1460GO
1461/****** Object: Table [dbo].[RentType] Script Date: 28-05-2018 18:12:28 ******/
1462SET ANSI_NULLS ON
1463GO
1464SET QUOTED_IDENTIFIER ON
1465GO
1466CREATE TABLE [dbo].[RentType](
1467 [TypeID] [int] NOT NULL,
1468 [Description] [varchar](256) NULL,
1469PRIMARY KEY CLUSTERED
1470(
1471 [TypeID] ASC
1472)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1473) ON [PRIMARY]
1474
1475GO
1476/****** Object: Table [dbo].[ServerLog] Script Date: 28-05-2018 18:12:28 ******/
1477SET ANSI_NULLS ON
1478GO
1479SET QUOTED_IDENTIFIER ON
1480GO
1481CREATE TABLE [dbo].[ServerLog](
1482 [id] [int] IDENTITY(1,1) NOT NULL,
1483 [ServerID] [smallint] NULL,
1484 [PlayerCount] [smallint] NULL,
1485 [GameCount] [smallint] NULL,
1486 [Time] [smalldatetime] NULL,
1487 [BlockCount] [int] NULL,
1488 [NonBlockCount] [int] NULL
1489) ON [PRIMARY]
1490
1491GO
1492/****** Object: Table [dbo].[ServerStatus] Script Date: 28-05-2018 18:12:28 ******/
1493SET ANSI_NULLS ON
1494GO
1495SET QUOTED_IDENTIFIER ON
1496GO
1497CREATE TABLE [dbo].[ServerStatus](
1498 [ServerID] [int] NOT NULL,
1499 [CurrPlayer] [smallint] NULL,
1500 [MaxPlayer] [smallint] NULL,
1501 [Time] [datetime] NULL,
1502 [IP] [varchar](32) NULL,
1503 [Port] [int] NULL,
1504 [ServerName] [varchar](64) NULL,
1505 [Opened] [tinyint] NULL,
1506 [Type] [int] NULL,
1507 CONSTRAINT [ServerStatus_PK] PRIMARY KEY CLUSTERED
1508(
1509 [ServerID] ASC
1510)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1511) ON [PRIMARY]
1512
1513GO
1514/****** Object: Table [dbo].[ServerType] Script Date: 28-05-2018 18:12:28 ******/
1515SET ANSI_NULLS ON
1516GO
1517SET QUOTED_IDENTIFIER ON
1518GO
1519CREATE TABLE [dbo].[ServerType](
1520 [Type] [int] NOT NULL,
1521 [Description] [varchar](128) NULL,
1522PRIMARY KEY CLUSTERED
1523(
1524 [Type] ASC
1525)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1526) ON [PRIMARY]
1527
1528GO
1529/****** Object: Table [dbo].[SetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1530SET ANSI_NULLS ON
1531GO
1532SET QUOTED_IDENTIFIER ON
1533GO
1534CREATE TABLE [dbo].[SetItemPurchaseLogByCash](
1535 [id] [int] IDENTITY(1,1) NOT NULL,
1536 [AID] [int] NULL,
1537 [CSSID] [int] NULL,
1538 [Date] [datetime] NOT NULL,
1539 [Cash] [int] NULL,
1540 [RentHourPeriod] [int] NULL,
1541 [MobileCode] [char](16) NULL
1542) ON [PRIMARY]
1543
1544GO
1545/****** Object: Table [dbo].[sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
1546SET ANSI_NULLS ON
1547GO
1548SET QUOTED_IDENTIFIER ON
1549GO
1550CREATE TABLE [dbo].[sjr_TableSizeIncr](
1551 [name] [varchar](40) NULL,
1552 [rows] [int] NULL,
1553 [reserved] [varchar](100) NULL,
1554 [date] [varchar](100) NULL,
1555 [index_size] [varchar](100) NULL,
1556 [unused] [varchar](100) NULL,
1557 [rd] [datetime] NULL
1558) ON [PRIMARY]
1559
1560GO
1561/****** Object: Table [dbo].[TESTE] Script Date: 28-05-2018 18:12:28 ******/
1562SET ANSI_NULLS ON
1563GO
1564SET QUOTED_IDENTIFIER ON
1565GO
1566CREATE TABLE [dbo].[TESTE](
1567 [AID] [int] IDENTITY(1,1) NOT NULL,
1568 [UserID] [varchar](20) NOT NULL,
1569 [UGradeID] [int] NOT NULL,
1570 [PGradeID] [int] NOT NULL,
1571 [RegDate] [datetime] NOT NULL,
1572 [Name] [varchar](50) NOT NULL,
1573 [Email] [varchar](50) NULL,
1574 [RegNum] [varchar](50) NULL,
1575 [Age] [smallint] NULL,
1576 [Sex] [tinyint] NULL,
1577 [ZipCode] [varchar](50) NULL,
1578 [Address] [varchar](256) NULL,
1579 [Country] [varchar](50) NULL,
1580 [LastCID] [int] NULL,
1581 [Cert] [tinyint] NULL
1582) ON [PRIMARY]
1583
1584GO
1585/****** Object: Table [dbo].[TotalRanking] Script Date: 28-05-2018 18:12:28 ******/
1586SET ANSI_NULLS ON
1587GO
1588SET QUOTED_IDENTIFIER ON
1589GO
1590CREATE TABLE [dbo].[TotalRanking](
1591 [Rank] [int] IDENTITY(1,1) NOT NULL,
1592 [UserID] [varchar](20) NULL,
1593 [Name] [varchar](24) NOT NULL,
1594 [Level] [smallint] NOT NULL,
1595 [XP] [int] NULL,
1596 [KillCount] [int] NULL,
1597 [DeathCount] [int] NULL,
1598 CONSTRAINT [PK_TotalRanking_Rank] PRIMARY KEY CLUSTERED
1599(
1600 [Rank] ASC
1601)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1602) ON [PRIMARY]
1603
1604GO
1605/****** Object: Table [dbo].[UserGrade] Script Date: 28-05-2018 18:12:28 ******/
1606SET ANSI_NULLS ON
1607GO
1608SET QUOTED_IDENTIFIER ON
1609GO
1610CREATE TABLE [dbo].[UserGrade](
1611 [UGradeID] [int] NOT NULL,
1612 [Name] [varchar](128) NOT NULL,
1613 CONSTRAINT [UserGrade_PK] PRIMARY KEY CLUSTERED
1614(
1615 [UGradeID] ASC
1616)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1617) ON [PRIMARY]
1618
1619GO
1620/****** Object: Table [dbo].[UV] Script Date: 28-05-2018 18:12:28 ******/
1621SET ANSI_NULLS ON
1622GO
1623SET QUOTED_IDENTIFIER ON
1624GO
1625CREATE TABLE [dbo].[UV](
1626 [id] [int] IDENTITY(1,1) NOT NULL,
1627 [Time] [smalldatetime] NOT NULL,
1628 [Count] [int] NOT NULL,
1629PRIMARY KEY CLUSTERED
1630(
1631 [id] ASC
1632)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1633) ON [PRIMARY]
1634
1635GO
1636/****** Object: Table [dbo].[Web_ItemShop] Script Date: 28-05-2018 18:12:28 ******/
1637SET ANSI_NULLS ON
1638GO
1639SET QUOTED_IDENTIFIER ON
1640GO
1641CREATE TABLE [dbo].[Web_ItemShop](
1642 [ID] [int] IDENTITY(1,1) NOT NULL,
1643 [Name] [varchar](50) NOT NULL,
1644 [Description] [text] NOT NULL,
1645 [Stats] [text] NOT NULL,
1646 [Weight] [int] NOT NULL,
1647 [Gender] [int] NOT NULL,
1648 [Price] [int] NOT NULL,
1649 [Cat] [varchar](50) NOT NULL,
1650 [Active] [int] NOT NULL,
1651 [Image] [varchar](50) NOT NULL,
1652 [ItemID] [varchar](100) NOT NULL
1653) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1654
1655GO
1656/****** Object: Table [dbo].[Web_News] Script Date: 28-05-2018 18:12:28 ******/
1657SET ANSI_NULLS ON
1658GO
1659SET QUOTED_IDENTIFIER ON
1660GO
1661CREATE TABLE [dbo].[Web_News](
1662 [ID] [int] IDENTITY(1,1) NOT NULL,
1663 [Title] [varchar](50) NOT NULL,
1664 [Text] [text] NOT NULL,
1665 [Author] [varchar](25) NOT NULL,
1666 [Date] [varchar](25) NOT NULL,
1667 [Type] [int] NOT NULL,
1668 [Views] [int] NOT NULL,
1669 [Active] [int] NOT NULL
1670) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1671
1672GO
1673/****** Object: View [dbo].[viewCashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1674SET ANSI_NULLS ON
1675GO
1676SET QUOTED_IDENTIFIER ON
1677GO
1678
1679CREATE VIEW [dbo].[viewCashItemPresentLog]
1680AS
1681
1682SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1683i.Name AS ItemName, cpl.Date AS Date FROM CashItemPresentLog cpl, Account a(nolock), CashShop cs(nolock), Item i(nolock)
1684WHERE cpl.ReceiverAID=a.AID AND cpl.CSID IS Not NULL AND cpl.csid=cs.csid AND cs.ItemID=i.ItemID
1685
1686
1687
1688
1689GO
1690/****** Object: View [dbo].[viewCashSetItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1691SET ANSI_NULLS ON
1692GO
1693SET QUOTED_IDENTIFIER ON
1694GO
1695
1696
1697--------------------
1698
1699CREATE VIEW [dbo].[viewCashSetItemPresentLog] -- M
1700AS
1701
1702SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1703css.Name AS SetItemName, cpl.Date AS Date, MobileCode
1704FROM CashItemPresentLog cpl, Account a(nolock), CashSetShop css(nolock)
1705WHERE cpl.ReceiverAID=a.AID AND cpl.CSSID IS Not NULL AND cpl.cssid=css.cssid
1706
1707
1708
1709
1710GO
1711/****** Object: View [dbo].[viewEventGetCharacterLevel] Script Date: 28-05-2018 18:12:28 ******/
1712SET ANSI_NULLS ON
1713GO
1714SET QUOTED_IDENTIFIER ON
1715GO
1716
1717
1718-----------------------
1719
1720CREATE VIEW [dbo].[viewEventGetCharacterLevel]
1721AS
1722
1723SELECT a.userid AS userid, c.name AS chr_name, c.level AS chr_level FROM Account a(nolock), Character c(nolock)
1724WHERE
1725a.aid=c.aid AND c.DeleteFlag=0
1726
1727
1728
1729
1730GO
1731/****** Object: View [dbo].[viewHonorRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1732SET ANSI_NULLS ON
1733GO
1734SET QUOTED_IDENTIFIER ON
1735GO
1736
1737
1738----------------------------
1739
1740CREATE VIEW [dbo].[viewHonorRankGunzClan]
1741AS
1742
1743SELECT chr.CLID, chr.ClanName, chr.Point, chr.Wins, chr.Losses, c.EmblemUrl, chr.Ranking, chr.RankIncrease, chr.Year, chr.Month
1744FROM ClanHonorRanking chr(nolock), Clan c(nolock)
1745WHERE chr.CLID=c.CLID
1746
1747
1748
1749
1750GO
1751/****** Object: View [dbo].[viewItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1752SET ANSI_NULLS ON
1753GO
1754SET QUOTED_IDENTIFIER ON
1755GO
1756
1757
1758-----------------------------
1759
1760CREATE VIEW [dbo].[viewItemPurchaseLogByCash] -- M
1761AS
1762SELECT ipl.id AS id, a.UserID AS UserID, i.Name AS ItemName, ipl.Date AS Date, ipl.Cash AS Cash, ipl.MobileCode
1763FROM ItemPurchaseLogByCash ipl, Account a, Item i
1764WHERE ipl.AID = a.AID AND ipl.ItemID=i.ItemID
1765
1766
1767
1768
1769GO
1770/****** Object: View [dbo].[viewRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1771SET ANSI_NULLS ON
1772GO
1773SET QUOTED_IDENTIFIER ON
1774GO
1775
1776
1777-------------------------------
1778
1779CREATE VIEW [dbo].[viewRankGunzClan]
1780AS
1781
1782SELECT CLID, Name as ClanName, Point, Wins, Losses, EmblemUrl, Ranking, RankIncrease
1783FROM Clan(nolock)
1784WHERE DeleteFlag=0 and Ranking>0
1785
1786
1787
1788
1789GO
1790/****** Object: View [dbo].[viewSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1791SET ANSI_NULLS ON
1792GO
1793SET QUOTED_IDENTIFIER ON
1794GO
1795
1796
1797---------------------------------
1798
1799CREATE VIEW [dbo].[viewSetItemPurchaseLogByCash] -- M
1800AS
1801SELECT id, a.UserID AS UserID, css.Name AS SetItemName, sipl.Date AS Date, sipl.Cash, MobileCode
1802FROM SetItemPurchaseLogByCash sipl, Account a, CashSetShop css
1803WHERE sipl.AID = a.AID AND css.cssid = sipl.cssid
1804
1805
1806
1807
1808GO
1809ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentD__116A8EFB] DEFAULT (NULL) FOR [RentDate]
1810GO
1811ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentH__125EB334] DEFAULT (NULL) FOR [RentHourPeriod]
1812GO
1813ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountItem__Cnt__1352D76D] DEFAULT (NULL) FOR [Cnt]
1814GO
1815ALTER TABLE [dbo].[BlockCountryCode] ADD CONSTRAINT [DF__BlockCoun__IsBlo__0E04126B] DEFAULT ((0)) FOR [IsBlock]
1816GO
1817ALTER TABLE [dbo].[CashShopNewItem] ADD CONSTRAINT [DF__CashShopN__RegDa__2D67AF2B] DEFAULT (getdate()) FOR [RegDate]
1818GO
1819ALTER TABLE [dbo].[CashShopRank] ADD CONSTRAINT [DF__CashShopR__RegDa__1C3D2329] DEFAULT (getdate()) FOR [RegDate]
1820GO
1821ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentD__0E8E2250] DEFAULT (NULL) FOR [RentDate]
1822GO
1823ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentH__0F824689] DEFAULT (NULL) FOR [RentHourPeriod]
1824GO
1825ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__CharacterIt__Cnt__10766AC2] DEFAULT (NULL) FOR [Cnt]
1826GO
1827ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Exp__740F363E] DEFAULT ((0)) FOR [Exp]
1828GO
1829ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Level__75035A77] DEFAULT ((1)) FOR [Level]
1830GO
1831ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF_Clan_Point] DEFAULT ((1000)) FOR [Point]
1832GO
1833ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Wins__76EBA2E9] DEFAULT ((0)) FOR [Wins]
1834GO
1835ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__DeleteFlag__78D3EB5B] DEFAULT ((0)) FOR [DeleteFlag]
1836GO
1837ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Losses__6774552F] DEFAULT ((0)) FOR [Losses]
1838GO
1839ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Draws__68687968] DEFAULT ((0)) FOR [Draws]
1840GO
1841ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Ranking__695C9DA1] DEFAULT ((0)) FOR [Ranking]
1842GO
1843ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__TotalPoint__6A50C1DA] DEFAULT ((0)) FOR [TotalPoint]
1844GO
1845ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__RankIncrea__7E57BA87] DEFAULT ((0)) FOR [RankIncrease]
1846GO
1847ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__EmblemChec__004002F9] DEFAULT ((0)) FOR [EmblemChecksum]
1848GO
1849ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastDayRan__031C6FA4] DEFAULT ((0)) FOR [LastDayRanking]
1850GO
1851ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastMonthR__041093DD] DEFAULT ((0)) FOR [LastMonthRanking]
1852GO
1853ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__ReadC__2D7CBDC4] DEFAULT ((0)) FOR [ReadCount]
1854GO
1855ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Recom__2E70E1FD] DEFAULT ((0)) FOR [Recommend]
1856GO
1857ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBoa__HTML__2F650636] DEFAULT ((0)) FOR [HTML]
1858GO
1859ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Comme__30592A6F] DEFAULT ((0)) FOR [CommentCount]
1860GO
1861ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_ID__314D4EA8] DEFAULT ((0)) FOR [GR_ID]
1862GO
1863ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_De__324172E1] DEFAULT ((0)) FOR [GR_Depth]
1864GO
1865ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_Po__3335971A] DEFAULT ((0)) FOR [GR_Pos]
1866GO
1867ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Threa__3429BB53] DEFAULT ((0)) FOR [Thread]
1868GO
1869ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__ReadC__45544755] DEFAULT ((0)) FOR [ReadCount]
1870GO
1871ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Recom__46486B8E] DEFAULT ((0)) FOR [Recommend]
1872GO
1873ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__HTML__473C8FC7] DEFAULT ((0)) FOR [HTML]
1874GO
1875ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Comme__4830B400] DEFAULT ((0)) FOR [CommentCount]
1876GO
1877ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_ID__4924D839] DEFAULT ((0)) FOR [GR_ID]
1878GO
1879ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_De__4A18FC72] DEFAULT ((0)) FOR [GR_Depth]
1880GO
1881ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_Po__4B0D20AB] DEFAULT ((0)) FOR [GR_Pos]
1882GO
1883ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Threa__4C0144E4] DEFAULT ((0)) FOR [Thread]
1884GO
1885ALTER TABLE [dbo].[ClanHonorRanking] ADD CONSTRAINT [DF__ClanHonor__RankI__0504B816] DEFAULT ((0)) FOR [RankIncrease]
1886GO
1887ALTER TABLE [dbo].[ClanMember] ADD CONSTRAINT [DF__ClanMembe__ContP__6B44E613] DEFAULT ((0)) FOR [ContPoint]
1888GO
1889ALTER TABLE [dbo].[dtproperties] ADD CONSTRAINT [DF__dtpropert__versi__0A9D95DB] DEFAULT ((0)) FOR [version]
1890GO
1891ALTER TABLE [dbo].[Event_ClanPointRanking] ADD CONSTRAINT [DF__Event_Cla__RegDa__49CEE3AF] DEFAULT (getdate()) FOR [RegDate]
1892GO
1893ALTER TABLE [dbo].[PersonalinfoGunz] ADD CONSTRAINT [DF_PersonalinfoGunz_statusLUA] DEFAULT ((1)) FOR [statusLUA]
1894GO
1895ALTER TABLE [dbo].[sjr_TableSizeIncr] ADD CONSTRAINT [DF__sjr_TableSiz__rd__1229A90A] DEFAULT (getdate()) FOR [rd]
1896GO
1897ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Account_Table1_FK1] FOREIGN KEY([AID])
1898REFERENCES [dbo].[Account] ([AID])
1899GO
1900ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Account_Table1_FK1]
1901GO
1902ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Item_Table1_FK1] FOREIGN KEY([ItemID])
1903REFERENCES [dbo].[Item] ([ItemID])
1904GO
1905ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Item_Table1_FK1]
1906GO
1907ALTER TABLE [dbo].[AccountPenaltyPeriod] WITH NOCHECK ADD CONSTRAINT [AccountPenaltyPeriod_Account_FK1] FOREIGN KEY([AID])
1908REFERENCES [dbo].[Account] ([AID])
1909GO
1910ALTER TABLE [dbo].[AccountPenaltyPeriod] CHECK CONSTRAINT [AccountPenaltyPeriod_Account_FK1]
1911GO
1912ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Account_BringAccountItemLog_FK1] FOREIGN KEY([AID])
1913REFERENCES [dbo].[Account] ([AID])
1914GO
1915ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Account_BringAccountItemLog_FK1]
1916GO
1917ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Character_BringAccountItemLog_FK1] FOREIGN KEY([CID])
1918REFERENCES [dbo].[Character] ([CID])
1919GO
1920ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Character_BringAccountItemLog_FK1]
1921GO
1922ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Item_BringAccountItemLog_FK1] FOREIGN KEY([ItemID])
1923REFERENCES [dbo].[Item] ([ItemID])
1924GO
1925ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Item_BringAccountItemLog_FK1]
1926GO
1927ALTER TABLE [dbo].[CashItemPresentLog] WITH NOCHECK ADD CONSTRAINT [Account_CashItemPresentLog_FK1] FOREIGN KEY([ReceiverAID])
1928REFERENCES [dbo].[Account] ([AID])
1929GO
1930ALTER TABLE [dbo].[CashItemPresentLog] CHECK CONSTRAINT [Account_CashItemPresentLog_FK1]
1931GO
1932ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [CashSetShop_CashSetItem_FK1] FOREIGN KEY([CSSID])
1933REFERENCES [dbo].[CashSetShop] ([CSSID])
1934GO
1935ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [CashSetShop_CashSetItem_FK1]
1936GO
1937ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [Item_CashSetItem_FK1] FOREIGN KEY([CSID])
1938REFERENCES [dbo].[CashShop] ([CSID])
1939GO
1940ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [Item_CashSetItem_FK1]
1941GO
1942ALTER TABLE [dbo].[CashShop] WITH NOCHECK ADD CONSTRAINT [Item_CashShop_FK1] FOREIGN KEY([ItemID])
1943REFERENCES [dbo].[Item] ([ItemID])
1944GO
1945ALTER TABLE [dbo].[CashShop] CHECK CONSTRAINT [Item_CashShop_FK1]
1946GO
1947ALTER TABLE [dbo].[Character] WITH NOCHECK ADD CONSTRAINT [Account_Character_FK1] FOREIGN KEY([AID])
1948REFERENCES [dbo].[Account] ([AID])
1949GO
1950ALTER TABLE [dbo].[Character] CHECK CONSTRAINT [Account_Character_FK1]
1951GO
1952ALTER TABLE [dbo].[CharacterItem] WITH NOCHECK ADD CONSTRAINT [Character_CharacterItem_FK1] FOREIGN KEY([CID])
1953REFERENCES [dbo].[Character] ([CID])
1954GO
1955ALTER TABLE [dbo].[CharacterItem] CHECK CONSTRAINT [Character_CharacterItem_FK1]
1956GO
1957ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CharMgrTypeID])
1958REFERENCES [dbo].[CharacterMgrType] ([CharMgrTypeID])
1959GO
1960ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CharMgrTypeID])
1961REFERENCES [dbo].[CharacterMgrType] ([CharMgrTypeID])
1962GO
1963ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1964REFERENCES [dbo].[Character] ([CID])
1965GO
1966ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1967REFERENCES [dbo].[Character] ([CID])
1968GO
1969ALTER TABLE [dbo].[Clan] WITH NOCHECK ADD CONSTRAINT [Clan_Character_FK1] FOREIGN KEY([MasterCID])
1970REFERENCES [dbo].[Character] ([CID])
1971GO
1972ALTER TABLE [dbo].[Clan] CHECK CONSTRAINT [Clan_Character_FK1]
1973GO
1974ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_LoserCLID_FK1] FOREIGN KEY([LoserCLID])
1975REFERENCES [dbo].[Clan] ([CLID])
1976GO
1977ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_LoserCLID_FK1]
1978GO
1979ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_WinnerCLID_FK1] FOREIGN KEY([WinnerCLID])
1980REFERENCES [dbo].[Clan] ([CLID])
1981GO
1982ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_WinnerCLID_FK1]
1983GO
1984ALTER TABLE [dbo].[ClanHonorRanking] WITH NOCHECK ADD CONSTRAINT [ClanHonorRanking_CLID_FK1] FOREIGN KEY([CLID])
1985REFERENCES [dbo].[Clan] ([CLID])
1986GO
1987ALTER TABLE [dbo].[ClanHonorRanking] CHECK CONSTRAINT [ClanHonorRanking_CLID_FK1]
1988GO
1989ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK1] FOREIGN KEY([CLID])
1990REFERENCES [dbo].[Clan] ([CLID])
1991GO
1992ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK1]
1993GO
1994ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK2] FOREIGN KEY([CID])
1995REFERENCES [dbo].[Character] ([CID])
1996GO
1997ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK2]
1998GO
1999ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK1] FOREIGN KEY([CID])
2000REFERENCES [dbo].[Character] ([CID])
2001GO
2002ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK1]
2003GO
2004ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK2] FOREIGN KEY([FriendCID])
2005REFERENCES [dbo].[Character] ([CID])
2006GO
2007ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK2]
2008GO
2009ALTER TABLE [dbo].[Item] WITH NOCHECK ADD CONSTRAINT [Effect_Item_FK1] FOREIGN KEY([EffectID])
2010REFERENCES [dbo].[Effect] ([ID])
2011GO
2012ALTER TABLE [dbo].[Item] CHECK CONSTRAINT [Effect_Item_FK1]
2013GO
2014ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_PurchaseLogByCash_FK1] FOREIGN KEY([AID])
2015REFERENCES [dbo].[Account] ([AID])
2016GO
2017ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Account_PurchaseLogByCash_FK1]
2018GO
2019ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Item_PurchaseLogByCash_FK1] FOREIGN KEY([ItemID])
2020REFERENCES [dbo].[Item] ([ItemID])
2021GO
2022ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Item_PurchaseLogByCash_FK1]
2023GO
2024ALTER TABLE [dbo].[RentCashSetShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSSID])
2025REFERENCES [dbo].[CashSetShop] ([CSSID])
2026ON UPDATE CASCADE
2027GO
2028ALTER TABLE [dbo].[RentCashShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSID])
2029REFERENCES [dbo].[CashShop] ([CSID])
2030ON UPDATE CASCADE
2031GO
2032ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([AID])
2033REFERENCES [dbo].[Account] ([AID])
2034GO
2035ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1]
2036GO
2037ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([CSSID])
2038REFERENCES [dbo].[CashSetShop] ([CSSID])
2039GO
2040ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1]
2041GO
2042/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2043SET ANSI_NULLS ON
2044GO
2045SET QUOTED_IDENTIFIER OFF
2046GO
2047
2048create proc [dbo].[dt_addtosourcecontrol]
2049 @vchSourceSafeINI varchar(255) = '',
2050 @vchProjectName varchar(255) ='',
2051 @vchComment varchar(255) ='',
2052 @vchLoginName varchar(255) ='',
2053 @vchPassword varchar(255) =''
2054
2055as
2056
2057set nocount on
2058
2059declare @iReturn int
2060declare @iObjectId int
2061select @iObjectId = 0
2062
2063declare @iStreamObjectId int
2064select @iStreamObjectId = 0
2065
2066declare @VSSGUID varchar(100)
2067select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2068
2069declare @vchDatabaseName varchar(255)
2070select @vchDatabaseName = db_name()
2071
2072declare @iReturnValue int
2073select @iReturnValue = 0
2074
2075declare @iPropertyObjectId int
2076declare @vchParentId varchar(255)
2077
2078declare @iObjectCount int
2079select @iObjectCount = 0
2080
2081 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2082 if @iReturn <> 0 GOTO E_OAError
2083
2084
2085 /* Create Project in SS */
2086 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2087 'AddProjectToSourceSafe',
2088 NULL,
2089 @vchSourceSafeINI,
2090 @vchProjectName output,
2091 @@SERVERNAME,
2092 @vchDatabaseName,
2093 @vchLoginName,
2094 @vchPassword,
2095 @vchComment
2096
2097
2098 if @iReturn <> 0 GOTO E_OAError
2099
2100 /* Set Database Properties */
2101
2102 begin tran SetProperties
2103
2104 /* add high level object */
2105
2106 exec @iPropertyObjectId = dbo.dt_adduserobject_vcs 'VCSProjectID'
2107
2108 select @vchParentId = CONVERT(varchar(255),@iPropertyObjectId)
2109
2110 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProjectID', @vchParentId , NULL
2111 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProject' , @vchProjectName , NULL
2112 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSourceSafeINI' , @vchSourceSafeINI , NULL
2113 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLServer', @@SERVERNAME, NULL
2114 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName, NULL
2115
2116 if @@error <> 0 GOTO E_General_Error
2117
2118 commit tran SetProperties
2119
2120 select @iObjectCount = 0;
2121
2122CleanUp:
2123 select @vchProjectName
2124 select @iObjectCount
2125 return
2126
2127E_General_Error:
2128 /* this is an all or nothing. No specific error messages */
2129 goto CleanUp
2130
2131E_OAError:
2132 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2133 goto CleanUp
2134
2135
2136
2137
2138
2139
2140GO
2141/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
2142SET ANSI_NULLS ON
2143GO
2144SET QUOTED_IDENTIFIER OFF
2145GO
2146
2147create proc [dbo].[dt_addtosourcecontrol_u]
2148 @vchSourceSafeINI nvarchar(255) = '',
2149 @vchProjectName nvarchar(255) ='',
2150 @vchComment nvarchar(255) ='',
2151 @vchLoginName nvarchar(255) ='',
2152 @vchPassword nvarchar(255) =''
2153
2154as
2155 -- This procedure should no longer be called; dt_addtosourcecontrol should be called instead.
2156 -- Calls are forwarded to dt_addtosourcecontrol to maintain backward compatibility
2157 set nocount on
2158 exec dbo.dt_addtosourcecontrol
2159 @vchSourceSafeINI,
2160 @vchProjectName,
2161 @vchComment,
2162 @vchLoginName,
2163 @vchPassword
2164
2165
2166
2167
2168
2169
2170GO
2171/****** Object: StoredProcedure [dbo].[dt_adduserobject] Script Date: 28-05-2018 18:12:28 ******/
2172SET ANSI_NULLS ON
2173GO
2174SET QUOTED_IDENTIFIER OFF
2175GO
2176
2177/*
2178** Add an object to the dtproperties table
2179*/
2180create procedure [dbo].[dt_adduserobject]
2181as
2182 set nocount on
2183 /*
2184 ** Create the user object if it does not exist already
2185 */
2186 begin transaction
2187 insert dbo.dtproperties (property) VALUES ('DtgSchemaOBJECT')
2188 update dbo.dtproperties set objectid=@@identity
2189 where id=@@identity and property='DtgSchemaOBJECT'
2190 commit
2191 return @@identity
2192
2193
2194
2195
2196GO
2197/****** Object: StoredProcedure [dbo].[dt_adduserobject_vcs] Script Date: 28-05-2018 18:12:28 ******/
2198SET ANSI_NULLS ON
2199GO
2200SET QUOTED_IDENTIFIER OFF
2201GO
2202
2203create procedure [dbo].[dt_adduserobject_vcs]
2204 @vchProperty varchar(64)
2205
2206as
2207
2208set nocount on
2209
2210declare @iReturn int
2211 /*
2212 ** Create the user object if it does not exist already
2213 */
2214 begin transaction
2215 select @iReturn = objectid from dbo.dtproperties where property = @vchProperty
2216 if @iReturn IS NULL
2217 begin
2218 insert dbo.dtproperties (property) VALUES (@vchProperty)
2219 update dbo.dtproperties set objectid=@@identity
2220 where id=@@identity and property=@vchProperty
2221 select @iReturn = @@identity
2222 end
2223 commit
2224 return @iReturn
2225
2226
2227
2228
2229
2230
2231GO
2232/****** Object: StoredProcedure [dbo].[dt_checkinobject] Script Date: 28-05-2018 18:12:28 ******/
2233SET ANSI_NULLS ON
2234GO
2235SET QUOTED_IDENTIFIER OFF
2236GO
2237
2238create proc [dbo].[dt_checkinobject]
2239 @chObjectType char(4),
2240 @vchObjectName varchar(255),
2241 @vchComment varchar(255)='',
2242 @vchLoginName varchar(255),
2243 @vchPassword varchar(255)='',
2244 @iVCSFlags int = 0,
2245 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2246 @txStream1 Text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2247 @txStream2 Text = '', /* create stream */
2248 @txStream3 Text = '' /* grant stream */
2249
2250
2251as
2252
2253 set nocount on
2254
2255 declare @iReturn int
2256 declare @iObjectId int
2257 select @iObjectId = 0
2258 declare @iStreamObjectId int
2259
2260 declare @VSSGUID varchar(100)
2261 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2262
2263 declare @iPropertyObjectId int
2264 select @iPropertyObjectId = 0
2265
2266 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2267
2268 declare @vchProjectName varchar(255)
2269 declare @vchSourceSafeINI varchar(255)
2270 declare @vchServerName varchar(255)
2271 declare @vchDatabaseName varchar(255)
2272 declare @iReturnValue int
2273 declare @pos int
2274 declare @vchProcLinePiece varchar(255)
2275
2276
2277 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2278 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2279 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2280 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2281
2282 if @chObjectType = 'PROC'
2283 begin
2284 if @iActionFlag = 1
2285 begin
2286 /* Procedure Can have up to three streams
2287 Drop Stream, Create Stream, GRANT stream */
2288
2289 begin tran compile_all
2290
2291 /* try to compile the streams */
2292 exec (@txStream1)
2293 if @@error <> 0 GOTO E_Compile_Fail
2294
2295 exec (@txStream2)
2296 if @@error <> 0 GOTO E_Compile_Fail
2297
2298 exec (@txStream3)
2299 if @@error <> 0 GOTO E_Compile_Fail
2300 end
2301
2302 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2303 if @iReturn <> 0 GOTO E_OAError
2304
2305 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2306 if @iReturn <> 0 GOTO E_OAError
2307
2308 if @iActionFlag = 1
2309 begin
2310
2311 declare @iStreamLength int
2312
2313 select @pos=1
2314 select @iStreamLength = datalength(@txStream2)
2315
2316 if @iStreamLength > 0
2317 begin
2318
2319 while @pos < @iStreamLength
2320 begin
2321
2322 select @vchProcLinePiece = substring(@txStream2, @pos, 255)
2323
2324 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2325 if @iReturn <> 0 GOTO E_OAError
2326
2327 select @pos = @pos + 255
2328
2329 end
2330
2331 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2332 'CheckIn_StoredProcedure',
2333 NULL,
2334 @sProjectName = @vchProjectName,
2335 @sSourceSafeINI = @vchSourceSafeINI,
2336 @sServerName = @vchServerName,
2337 @sDatabaseName = @vchDatabaseName,
2338 @sObjectName = @vchObjectName,
2339 @sComment = @vchComment,
2340 @sLoginName = @vchLoginName,
2341 @sPassword = @vchPassword,
2342 @iVCSFlags = @iVCSFlags,
2343 @iActionFlag = @iActionFlag,
2344 @sStream = ''
2345
2346 end
2347 end
2348 else
2349 begin
2350
2351 select colid, text into #ProcLines
2352 from syscomments
2353 where id = object_id(@vchObjectName)
2354 order by colid
2355
2356 declare @iCurProcLine int
2357 declare @iProcLines int
2358 select @iCurProcLine = 1
2359 select @iProcLines = (select count(*) from #ProcLines)
2360 while @iCurProcLine <= @iProcLines
2361 begin
2362 select @pos = 1
2363 declare @iCurLineSize int
2364 select @iCurLineSize = len((select text from #ProcLines where colid = @iCurProcLine))
2365 while @pos <= @iCurLineSize
2366 begin
2367 select @vchProcLinePiece = convert(varchar(255),
2368 substring((select text from #ProcLines where colid = @iCurProcLine),
2369 @pos, 255 ))
2370 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2371 if @iReturn <> 0 GOTO E_OAError
2372 select @pos = @pos + 255
2373 end
2374 select @iCurProcLine = @iCurProcLine + 1
2375 end
2376 drop table #ProcLines
2377
2378 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2379 'CheckIn_StoredProcedure',
2380 NULL,
2381 @sProjectName = @vchProjectName,
2382 @sSourceSafeINI = @vchSourceSafeINI,
2383 @sServerName = @vchServerName,
2384 @sDatabaseName = @vchDatabaseName,
2385 @sObjectName = @vchObjectName,
2386 @sComment = @vchComment,
2387 @sLoginName = @vchLoginName,
2388 @sPassword = @vchPassword,
2389 @iVCSFlags = @iVCSFlags,
2390 @iActionFlag = @iActionFlag,
2391 @sStream = ''
2392 end
2393
2394 if @iReturn <> 0 GOTO E_OAError
2395
2396 if @iActionFlag = 1
2397 begin
2398 commit tran compile_all
2399 if @@error <> 0 GOTO E_Compile_Fail
2400 end
2401
2402 end
2403
2404CleanUp:
2405 return
2406
2407E_Compile_Fail:
2408 declare @lerror int
2409 select @lerror = @@error
2410 rollback tran compile_all
2411 RAISERROR (@lerror,16,-1)
2412 goto CleanUp
2413
2414E_OAError:
2415 if @iActionFlag = 1 rollback tran compile_all
2416 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2417 goto CleanUp
2418
2419
2420
2421
2422
2423
2424GO
2425/****** Object: StoredProcedure [dbo].[dt_checkinobject_u] Script Date: 28-05-2018 18:12:28 ******/
2426SET ANSI_NULLS ON
2427GO
2428SET QUOTED_IDENTIFIER OFF
2429GO
2430
2431create proc [dbo].[dt_checkinobject_u]
2432 @chObjectType char(4),
2433 @vchObjectName nvarchar(255),
2434 @vchComment nvarchar(255)='',
2435 @vchLoginName nvarchar(255),
2436 @vchPassword nvarchar(255)='',
2437 @iVCSFlags int = 0,
2438 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2439 @txStream1 text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2440 @txStream2 text = '', /* create stream */
2441 @txStream3 text = '' /* grant stream */
2442
2443as
2444 -- This procedure should no longer be called; dt_checkinobject should be called instead.
2445 -- Calls are forwarded to dt_checkinobject to maintain backward compatibility.
2446 set nocount on
2447 exec dbo.dt_checkinobject
2448 @chObjectType,
2449 @vchObjectName,
2450 @vchComment,
2451 @vchLoginName,
2452 @vchPassword,
2453 @iVCSFlags,
2454 @iActionFlag,
2455 @txStream1,
2456 @txStream2,
2457 @txStream3
2458
2459
2460
2461
2462
2463
2464GO
2465/****** Object: StoredProcedure [dbo].[dt_checkoutobject] Script Date: 28-05-2018 18:12:28 ******/
2466SET ANSI_NULLS ON
2467GO
2468SET QUOTED_IDENTIFIER OFF
2469GO
2470
2471create proc [dbo].[dt_checkoutobject]
2472 @chObjectType char(4),
2473 @vchObjectName varchar(255),
2474 @vchComment varchar(255),
2475 @vchLoginName varchar(255),
2476 @vchPassword varchar(255),
2477 @iVCSFlags int = 0,
2478 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2479
2480as
2481
2482 set nocount on
2483
2484 declare @iReturn int
2485 declare @iObjectId int
2486 select @iObjectId =0
2487
2488 declare @VSSGUID varchar(100)
2489 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2490
2491 declare @iReturnValue int
2492 select @iReturnValue = 0
2493
2494 declare @vchTempText varchar(255)
2495
2496 /* this is for our strings */
2497 declare @iStreamObjectId int
2498 select @iStreamObjectId = 0
2499
2500 declare @iPropertyObjectId int
2501 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2502
2503 declare @vchProjectName varchar(255)
2504 declare @vchSourceSafeINI varchar(255)
2505 declare @vchServerName varchar(255)
2506 declare @vchDatabaseName varchar(255)
2507 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2508 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2509 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2510 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2511
2512 if @chObjectType = 'PROC'
2513 begin
2514 /* Procedure Can have up to three streams
2515 Drop Stream, Create Stream, GRANT stream */
2516
2517 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2518
2519 if @iReturn <> 0 GOTO E_OAError
2520
2521 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2522 'CheckOut_StoredProcedure',
2523 NULL,
2524 @sProjectName = @vchProjectName,
2525 @sSourceSafeINI = @vchSourceSafeINI,
2526 @sObjectName = @vchObjectName,
2527 @sServerName = @vchServerName,
2528 @sDatabaseName = @vchDatabaseName,
2529 @sComment = @vchComment,
2530 @sLoginName = @vchLoginName,
2531 @sPassword = @vchPassword,
2532 @iVCSFlags = @iVCSFlags,
2533 @iActionFlag = @iActionFlag
2534
2535 if @iReturn <> 0 GOTO E_OAError
2536
2537
2538 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2539
2540 if @iReturn <> 0 GOTO E_OAError
2541
2542 create table #commenttext (id int identity, sourcecode varchar(255))
2543
2544
2545 select @vchTempText = 'STUB'
2546 while @vchTempText is not null
2547 begin
2548 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
2549 if @iReturn <> 0 GOTO E_OAError
2550
2551 if (@vchTempText = '') set @vchTempText = null
2552 if (@vchTempText is not null) insert into #commenttext (sourcecode) select @vchTempText
2553 end
2554
2555 select 'VCS'=sourcecode from #commenttext order by id
2556 select 'SQL'=text from syscomments where id = object_id(@vchObjectName) order by colid
2557
2558 end
2559
2560CleanUp:
2561 return
2562
2563E_OAError:
2564 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2565 GOTO CleanUp
2566
2567
2568
2569
2570
2571
2572GO
2573/****** Object: StoredProcedure [dbo].[dt_checkoutobject_u] Script Date: 28-05-2018 18:12:28 ******/
2574SET ANSI_NULLS ON
2575GO
2576SET QUOTED_IDENTIFIER OFF
2577GO
2578
2579create proc [dbo].[dt_checkoutobject_u]
2580 @chObjectType char(4),
2581 @vchObjectName nvarchar(255),
2582 @vchComment nvarchar(255),
2583 @vchLoginName nvarchar(255),
2584 @vchPassword nvarchar(255),
2585 @iVCSFlags int = 0,
2586 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2587
2588as
2589
2590 -- This procedure should no longer be called; dt_checkoutobject should be called instead.
2591 -- Calls are forwarded to dt_checkoutobject to maintain backward compatibility.
2592 set nocount on
2593 exec dbo.dt_checkoutobject
2594 @chObjectType,
2595 @vchObjectName,
2596 @vchComment,
2597 @vchLoginName,
2598 @vchPassword,
2599 @iVCSFlags,
2600 @iActionFlag
2601
2602
2603
2604
2605
2606
2607GO
2608/****** Object: StoredProcedure [dbo].[dt_displayoaerror] Script Date: 28-05-2018 18:12:28 ******/
2609SET ANSI_NULLS ON
2610GO
2611SET QUOTED_IDENTIFIER OFF
2612GO
2613
2614CREATE PROCEDURE [dbo].[dt_displayoaerror]
2615 @iObject int,
2616 @iresult int
2617as
2618
2619set nocount on
2620
2621declare @vchOutput varchar(255)
2622declare @hr int
2623declare @vchSource varchar(255)
2624declare @vchDescription varchar(255)
2625
2626 exec @hr = master.dbo.sp_OAGetErrorInfo @iObject, @vchSource OUT, @vchDescription OUT
2627
2628 select @vchOutput = @vchSource + ': ' + @vchDescription
2629 raiserror (@vchOutput,16,-1)
2630
2631 return
2632
2633
2634
2635
2636
2637GO
2638/****** Object: StoredProcedure [dbo].[dt_displayoaerror_u] Script Date: 28-05-2018 18:12:28 ******/
2639SET ANSI_NULLS ON
2640GO
2641SET QUOTED_IDENTIFIER OFF
2642GO
2643
2644CREATE PROCEDURE [dbo].[dt_displayoaerror_u]
2645 @iObject int,
2646 @iresult int
2647as
2648 -- This procedure should no longer be called; dt_displayoaerror should be called instead.
2649 -- Calls are forwarded to dt_displayoaerror to maintain backward compatibility.
2650 set nocount on
2651 exec dbo.dt_displayoaerror
2652 @iObject,
2653 @iresult
2654
2655
2656
2657
2658
2659
2660GO
2661/****** Object: StoredProcedure [dbo].[dt_droppropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2662SET ANSI_NULLS ON
2663GO
2664SET QUOTED_IDENTIFIER OFF
2665GO
2666
2667/*
2668** Drop one or all the associated properties of an object or an attribute
2669**
2670** dt_dropproperties objid, null or '' -- drop all properties of the object itself
2671** dt_dropproperties objid, property -- drop the property
2672*/
2673create procedure [dbo].[dt_droppropertiesbyid]
2674 @id int,
2675 @property varchar(64)
2676as
2677 set nocount on
2678
2679 if (@property is null) or (@property = '')
2680 delete from dbo.dtproperties where objectid=@id
2681 else
2682 delete from dbo.dtproperties
2683 where objectid=@id and property=@property
2684
2685
2686
2687
2688
2689GO
2690/****** Object: StoredProcedure [dbo].[dt_dropuserobjectbyid] Script Date: 28-05-2018 18:12:28 ******/
2691SET ANSI_NULLS ON
2692GO
2693SET QUOTED_IDENTIFIER OFF
2694GO
2695
2696/*
2697** Drop an object from the dbo.dtproperties table
2698*/
2699create procedure [dbo].[dt_dropuserobjectbyid]
2700 @id int
2701as
2702 set nocount on
2703 delete from dbo.dtproperties where objectid=@id
2704
2705
2706
2707
2708GO
2709/****** Object: StoredProcedure [dbo].[dt_generateansiname] Script Date: 28-05-2018 18:12:28 ******/
2710SET ANSI_NULLS ON
2711GO
2712SET QUOTED_IDENTIFIER OFF
2713GO
2714
2715/*
2716** Generate an ansi name that is unique in the dtproperties.value column
2717*/
2718create procedure [dbo].[dt_generateansiname](@name varchar(255) output)
2719as
2720 declare @prologue varchar(20)
2721 declare @indexstring varchar(20)
2722 declare @index integer
2723
2724 set @prologue = 'MSDT-A-'
2725 set @index = 1
2726
2727 while 1 = 1
2728 begin
2729 set @indexstring = cast(@index as varchar(20))
2730 set @name = @prologue + @indexstring
2731 if not exists (select value from dtproperties where value = @name)
2732 break
2733
2734 set @index = @index + 1
2735
2736 if (@index = 10000)
2737 goto TooMany
2738 end
2739
2740Leave:
2741
2742 return
2743
2744TooMany:
2745
2746 set @name = 'DIAGRAM'
2747 goto Leave
2748
2749
2750
2751
2752GO
2753/****** Object: StoredProcedure [dbo].[dt_getobjwithprop] Script Date: 28-05-2018 18:12:28 ******/
2754SET ANSI_NULLS ON
2755GO
2756SET QUOTED_IDENTIFIER OFF
2757GO
2758
2759/*
2760** Retrieve the owner object(s) of a given property
2761*/
2762create procedure [dbo].[dt_getobjwithprop]
2763 @property varchar(30),
2764 @value varchar(255)
2765as
2766 set nocount on
2767
2768 if (@property is null) or (@property = '')
2769 begin
2770 raiserror('Must specify a property name.',-1,-1)
2771 return (1)
2772 end
2773
2774 if (@value is null)
2775 select objectid id from dbo.dtproperties
2776 where property=@property
2777
2778 else
2779 select objectid id from dbo.dtproperties
2780 where property=@property and value=@value
2781
2782
2783
2784
2785GO
2786/****** Object: StoredProcedure [dbo].[dt_getobjwithprop_u] Script Date: 28-05-2018 18:12:28 ******/
2787SET ANSI_NULLS ON
2788GO
2789SET QUOTED_IDENTIFIER OFF
2790GO
2791
2792/*
2793** Retrieve the owner object(s) of a given property
2794*/
2795create procedure [dbo].[dt_getobjwithprop_u]
2796 @property varchar(30),
2797 @uvalue nvarchar(255)
2798as
2799 set nocount on
2800
2801 if (@property is null) or (@property = '')
2802 begin
2803 raiserror('Must specify a property name.',-1,-1)
2804 return (1)
2805 end
2806
2807 if (@uvalue is null)
2808 select objectid id from dbo.dtproperties
2809 where property=@property
2810
2811 else
2812 select objectid id from dbo.dtproperties
2813 where property=@property and uvalue=@uvalue
2814
2815
2816
2817
2818GO
2819/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2820SET ANSI_NULLS ON
2821GO
2822SET QUOTED_IDENTIFIER OFF
2823GO
2824
2825/*
2826** Retrieve properties by id's
2827**
2828** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2829** dt_getproperties objid, property -- retrieve the property specified
2830*/
2831create procedure [dbo].[dt_getpropertiesbyid]
2832 @id int,
2833 @property varchar(64)
2834as
2835 set nocount on
2836
2837 if (@property is null) or (@property = '')
2838 select property, version, value, lvalue
2839 from dbo.dtproperties
2840 where @id=objectid
2841 else
2842 select property, version, value, lvalue
2843 from dbo.dtproperties
2844 where @id=objectid and @property=property
2845
2846
2847
2848
2849GO
2850/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_u] Script Date: 28-05-2018 18:12:28 ******/
2851SET ANSI_NULLS ON
2852GO
2853SET QUOTED_IDENTIFIER OFF
2854GO
2855
2856/*
2857** Retrieve properties by id's
2858**
2859** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2860** dt_getproperties objid, property -- retrieve the property specified
2861*/
2862create procedure [dbo].[dt_getpropertiesbyid_u]
2863 @id int,
2864 @property varchar(64)
2865as
2866 set nocount on
2867
2868 if (@property is null) or (@property = '')
2869 select property, version, uvalue, lvalue
2870 from dbo.dtproperties
2871 where @id=objectid
2872 else
2873 select property, version, uvalue, lvalue
2874 from dbo.dtproperties
2875 where @id=objectid and @property=property
2876
2877
2878
2879
2880GO
2881/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs] Script Date: 28-05-2018 18:12:28 ******/
2882SET ANSI_NULLS ON
2883GO
2884SET QUOTED_IDENTIFIER OFF
2885GO
2886
2887create procedure [dbo].[dt_getpropertiesbyid_vcs]
2888 @id int,
2889 @property varchar(64),
2890 @value varchar(255) = NULL OUT
2891
2892as
2893
2894 set nocount on
2895
2896 select @value = (
2897 select value
2898 from dbo.dtproperties
2899 where @id=objectid and @property=property
2900 )
2901
2902
2903
2904
2905
2906GO
2907/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs_u] Script Date: 28-05-2018 18:12:28 ******/
2908SET ANSI_NULLS ON
2909GO
2910SET QUOTED_IDENTIFIER OFF
2911GO
2912
2913create procedure [dbo].[dt_getpropertiesbyid_vcs_u]
2914 @id int,
2915 @property varchar(64),
2916 @value nvarchar(255) = NULL OUT
2917
2918as
2919
2920 -- This procedure should no longer be called; dt_getpropertiesbyid_vcsshould be called instead.
2921 -- Calls are forwarded to dt_getpropertiesbyid_vcs to maintain backward compatibility.
2922 set nocount on
2923 exec dbo.dt_getpropertiesbyid_vcs
2924 @id,
2925 @property,
2926 @value output
2927
2928
2929
2930
2931
2932GO
2933/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2934SET ANSI_NULLS ON
2935GO
2936SET QUOTED_IDENTIFIER OFF
2937GO
2938
2939create proc [dbo].[dt_isundersourcecontrol]
2940 @vchLoginName varchar(255) = '',
2941 @vchPassword varchar(255) = '',
2942 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
2943
2944as
2945
2946 set nocount on
2947
2948 declare @iReturn int
2949 declare @iObjectId int
2950 select @iObjectId = 0
2951
2952 declare @VSSGUID varchar(100)
2953 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2954
2955 declare @iReturnValue int
2956 select @iReturnValue = 0
2957
2958 declare @iStreamObjectId int
2959 select @iStreamObjectId = 0
2960
2961 declare @vchTempText varchar(255)
2962
2963 declare @iPropertyObjectId int
2964 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2965
2966 declare @vchProjectName varchar(255)
2967 declare @vchSourceSafeINI varchar(255)
2968 declare @vchServerName varchar(255)
2969 declare @vchDatabaseName varchar(255)
2970 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2971 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2972 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2973 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2974
2975 if (@vchProjectName = '') set @vchProjectName = null
2976 if (@vchSourceSafeINI = '') set @vchSourceSafeINI = null
2977 if (@vchServerName = '') set @vchServerName = null
2978 if (@vchDatabaseName = '') set @vchDatabaseName = null
2979
2980 if (@vchProjectName is null) or (@vchSourceSafeINI is null) or (@vchServerName is null) or (@vchDatabaseName is null)
2981 begin
2982 RAISERROR('Not Under Source Control',16,-1)
2983 return
2984 end
2985
2986 if @iWhoToo = 1
2987 begin
2988
2989 /* Get List of Procs in the project */
2990 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2991 if @iReturn <> 0 GOTO E_OAError
2992
2993 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2994 'GetListOfObjects',
2995 NULL,
2996 @vchProjectName,
2997 @vchSourceSafeINI,
2998 @vchServerName,
2999 @vchDatabaseName,
3000 @vchLoginName,
3001 @vchPassword
3002
3003 if @iReturn <> 0 GOTO E_OAError
3004
3005 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
3006
3007 if @iReturn <> 0 GOTO E_OAError
3008
3009 create table #ObjectList (id int identity, vchObjectlist varchar(255))
3010
3011 select @vchTempText = 'STUB'
3012 while @vchTempText is not null
3013 begin
3014 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
3015 if @iReturn <> 0 GOTO E_OAError
3016
3017 if (@vchTempText = '') set @vchTempText = null
3018 if (@vchTempText is not null) insert into #ObjectList (vchObjectlist ) select @vchTempText
3019 end
3020
3021 select vchObjectlist from #ObjectList order by id
3022 end
3023
3024CleanUp:
3025 return
3026
3027E_OAError:
3028 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3029 goto CleanUp
3030
3031
3032
3033
3034
3035
3036GO
3037/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
3038SET ANSI_NULLS ON
3039GO
3040SET QUOTED_IDENTIFIER OFF
3041GO
3042
3043create proc [dbo].[dt_isundersourcecontrol_u]
3044 @vchLoginName nvarchar(255) = '',
3045 @vchPassword nvarchar(255) = '',
3046 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
3047
3048as
3049 -- This procedure should no longer be called; dt_isundersourcecontrol should be called instead.
3050 -- Calls are forwarded to dt_isundersourcecontrol to maintain backward compatibility.
3051 set nocount on
3052 exec dbo.dt_isundersourcecontrol
3053 @vchLoginName,
3054 @vchPassword,
3055 @iWhoToo
3056
3057
3058
3059
3060
3061
3062GO
3063/****** Object: StoredProcedure [dbo].[dt_removefromsourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
3064SET ANSI_NULLS ON
3065GO
3066SET QUOTED_IDENTIFIER OFF
3067GO
3068
3069create procedure [dbo].[dt_removefromsourcecontrol]
3070
3071as
3072
3073 set nocount on
3074
3075 declare @iPropertyObjectId int
3076 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3077
3078 exec dbo.dt_droppropertiesbyid @iPropertyObjectId, null
3079
3080 /* -1 is returned by dt_droppopertiesbyid */
3081 if @@error <> 0 and @@error <> -1 return 1
3082
3083 return 0
3084
3085
3086
3087
3088
3089
3090GO
3091/****** Object: StoredProcedure [dbo].[dt_setpropertybyid] Script Date: 28-05-2018 18:12:28 ******/
3092SET ANSI_NULLS ON
3093GO
3094SET QUOTED_IDENTIFIER OFF
3095GO
3096
3097/*
3098** If the property already exists, reset the value; otherwise add property
3099** id -- the id in sysobjects of the object
3100** property -- the name of the property
3101** value -- the text value of the property
3102** lvalue -- the binary value of the property (image)
3103*/
3104create procedure [dbo].[dt_setpropertybyid]
3105 @id int,
3106 @property varchar(64),
3107 @value varchar(255),
3108 @lvalue image
3109as
3110 set nocount on
3111 declare @uvalue nvarchar(255)
3112 set @uvalue = convert(nvarchar(255), @value)
3113 if exists (select * from dbo.dtproperties
3114 where objectid=@id and property=@property)
3115 begin
3116 --
3117 -- bump the version count for this row as we update it
3118 --
3119 update dbo.dtproperties set value=@value, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3120 where objectid=@id and property=@property
3121 end
3122 else
3123 begin
3124 --
3125 -- version count is auto-set to 0 on initial insert
3126 --
3127 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3128 values (@property, @id, @value, @uvalue, @lvalue)
3129 end
3130
3131
3132
3133
3134
3135GO
3136/****** Object: StoredProcedure [dbo].[dt_setpropertybyid_u] Script Date: 28-05-2018 18:12:28 ******/
3137SET ANSI_NULLS ON
3138GO
3139SET QUOTED_IDENTIFIER OFF
3140GO
3141
3142/*
3143** If the property already exists, reset the value; otherwise add property
3144** id -- the id in sysobjects of the object
3145** property -- the name of the property
3146** uvalue -- the text value of the property
3147** lvalue -- the binary value of the property (image)
3148*/
3149create procedure [dbo].[dt_setpropertybyid_u]
3150 @id int,
3151 @property varchar(64),
3152 @uvalue nvarchar(255),
3153 @lvalue image
3154as
3155 set nocount on
3156 --
3157 -- If we are writing the name property, find the ansi equivalent.
3158 -- If there is no lossless translation, generate an ansi name.
3159 --
3160 declare @avalue varchar(255)
3161 set @avalue = null
3162 if (@uvalue is not null)
3163 begin
3164 if (convert(nvarchar(255), convert(varchar(255), @uvalue)) = @uvalue)
3165 begin
3166 set @avalue = convert(varchar(255), @uvalue)
3167 end
3168 else
3169 begin
3170 if 'DtgSchemaNAME' = @property
3171 begin
3172 exec dbo.dt_generateansiname @avalue output
3173 end
3174 end
3175 end
3176 if exists (select * from dbo.dtproperties
3177 where objectid=@id and property=@property)
3178 begin
3179 --
3180 -- bump the version count for this row as we update it
3181 --
3182 update dbo.dtproperties set value=@avalue, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3183 where objectid=@id and property=@property
3184 end
3185 else
3186 begin
3187 --
3188 -- version count is auto-set to 0 on initial insert
3189 --
3190 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3191 values (@property, @id, @avalue, @uvalue, @lvalue)
3192 end
3193
3194
3195
3196
3197GO
3198/****** Object: StoredProcedure [dbo].[dt_validateloginparams] Script Date: 28-05-2018 18:12:28 ******/
3199SET ANSI_NULLS ON
3200GO
3201SET QUOTED_IDENTIFIER OFF
3202GO
3203
3204create proc [dbo].[dt_validateloginparams]
3205 @vchLoginName varchar(255),
3206 @vchPassword varchar(255)
3207as
3208
3209set nocount on
3210
3211declare @iReturn int
3212declare @iObjectId int
3213select @iObjectId =0
3214
3215declare @VSSGUID varchar(100)
3216select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3217
3218 declare @iPropertyObjectId int
3219 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3220
3221 declare @vchSourceSafeINI varchar(255)
3222 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3223
3224 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3225 if @iReturn <> 0 GOTO E_OAError
3226
3227 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3228 'ValidateLoginParams',
3229 NULL,
3230 @sSourceSafeINI = @vchSourceSafeINI,
3231 @sLoginName = @vchLoginName,
3232 @sPassword = @vchPassword
3233 if @iReturn <> 0 GOTO E_OAError
3234
3235CleanUp:
3236 return
3237
3238E_OAError:
3239 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3240 GOTO CleanUp
3241
3242
3243
3244
3245
3246
3247GO
3248/****** Object: StoredProcedure [dbo].[dt_validateloginparams_u] Script Date: 28-05-2018 18:12:28 ******/
3249SET ANSI_NULLS ON
3250GO
3251SET QUOTED_IDENTIFIER OFF
3252GO
3253
3254create proc [dbo].[dt_validateloginparams_u]
3255 @vchLoginName nvarchar(255),
3256 @vchPassword nvarchar(255)
3257as
3258
3259 -- This procedure should no longer be called; dt_validateloginparams should be called instead.
3260 -- Calls are forwarded to dt_validateloginparams to maintain backward compatibility.
3261 set nocount on
3262 exec dbo.dt_validateloginparams
3263 @vchLoginName,
3264 @vchPassword
3265
3266
3267
3268
3269
3270
3271GO
3272/****** Object: StoredProcedure [dbo].[dt_vcsenabled] Script Date: 28-05-2018 18:12:28 ******/
3273SET ANSI_NULLS ON
3274GO
3275SET QUOTED_IDENTIFIER OFF
3276GO
3277
3278create proc [dbo].[dt_vcsenabled]
3279
3280as
3281
3282set nocount on
3283
3284declare @iObjectId int
3285select @iObjectId = 0
3286
3287declare @VSSGUID varchar(100)
3288select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3289
3290 declare @iReturn int
3291 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3292 if @iReturn <> 0 raiserror('', 16, -1) /* Can't Load Helper DLLC */
3293
3294
3295
3296
3297
3298
3299GO
3300/****** Object: StoredProcedure [dbo].[dt_verstamp006] Script Date: 28-05-2018 18:12:28 ******/
3301SET ANSI_NULLS ON
3302GO
3303SET QUOTED_IDENTIFIER OFF
3304GO
3305
3306/*
3307** This procedure returns the version number of the stored
3308** procedures used by legacy versions of the Microsoft
3309** Visual Database Tools. Version is 7.0.00.
3310*/
3311create procedure [dbo].[dt_verstamp006]
3312as
3313 select 7000
3314
3315
3316
3317
3318GO
3319/****** Object: StoredProcedure [dbo].[dt_verstamp007] Script Date: 28-05-2018 18:12:28 ******/
3320SET ANSI_NULLS ON
3321GO
3322SET QUOTED_IDENTIFIER OFF
3323GO
3324
3325/*
3326** This procedure returns the version number of the stored
3327** procedures used by the the Microsoft Visual Database Tools.
3328** Version is 7.0.05.
3329*/
3330create procedure [dbo].[dt_verstamp007]
3331as
3332 select 7005
3333
3334
3335
3336
3337GO
3338/****** Object: StoredProcedure [dbo].[dt_whocheckedout] Script Date: 28-05-2018 18:12:28 ******/
3339SET ANSI_NULLS ON
3340GO
3341SET QUOTED_IDENTIFIER OFF
3342GO
3343
3344create proc [dbo].[dt_whocheckedout]
3345 @chObjectType char(4),
3346 @vchObjectName varchar(255),
3347 @vchLoginName varchar(255),
3348 @vchPassword varchar(255)
3349
3350as
3351
3352set nocount on
3353
3354declare @iReturn int
3355declare @iObjectId int
3356select @iObjectId =0
3357
3358declare @VSSGUID varchar(100)
3359select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3360
3361 declare @iPropertyObjectId int
3362
3363 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3364
3365 declare @vchProjectName varchar(255)
3366 declare @vchSourceSafeINI varchar(255)
3367 declare @vchServerName varchar(255)
3368 declare @vchDatabaseName varchar(255)
3369 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
3370 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3371 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
3372 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
3373
3374 if @chObjectType = 'PROC'
3375 begin
3376 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3377
3378 if @iReturn <> 0 GOTO E_OAError
3379
3380 declare @vchReturnValue varchar(255)
3381 select @vchReturnValue = ''
3382
3383 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3384 'WhoCheckedOut',
3385 @vchReturnValue OUT,
3386 @sProjectName = @vchProjectName,
3387 @sSourceSafeINI = @vchSourceSafeINI,
3388 @sObjectName = @vchObjectName,
3389 @sServerName = @vchServerName,
3390 @sDatabaseName = @vchDatabaseName,
3391 @sLoginName = @vchLoginName,
3392 @sPassword = @vchPassword
3393
3394 if @iReturn <> 0 GOTO E_OAError
3395
3396 select @vchReturnValue
3397
3398 end
3399
3400CleanUp:
3401 return
3402
3403E_OAError:
3404 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3405 GOTO CleanUp
3406
3407
3408
3409
3410
3411
3412GO
3413/****** Object: StoredProcedure [dbo].[dt_whocheckedout_u] Script Date: 28-05-2018 18:12:28 ******/
3414SET ANSI_NULLS ON
3415GO
3416SET QUOTED_IDENTIFIER OFF
3417GO
3418
3419create proc [dbo].[dt_whocheckedout_u]
3420 @chObjectType char(4),
3421 @vchObjectName nvarchar(255),
3422 @vchLoginName nvarchar(255),
3423 @vchPassword nvarchar(255)
3424
3425as
3426
3427 -- This procedure should no longer be called; dt_whocheckedout should be called instead.
3428 -- Calls are forwarded to dt_whocheckedout to maintain backward compatibility.
3429 set nocount on
3430 exec dbo.dt_whocheckedout
3431 @chObjectType,
3432 @vchObjectName,
3433 @vchLoginName,
3434 @vchPassword
3435
3436
3437
3438
3439
3440
3441GO
3442/****** Object: StoredProcedure [dbo].[LUG_checkAccountByEmail] Script Date: 28-05-2018 18:12:28 ******/
3443SET ANSI_NULLS ON
3444GO
3445SET QUOTED_IDENTIFIER ON
3446GO
3447
3448CREATE Procedure [dbo].[LUG_checkAccountByEmail]
3449
3450 (
3451 @UserID VARCHAR(24),
3452 @email VARCHAR(50),
3453 @result BIT OUTPUT
3454 )
3455
3456
3457AS
3458
3459-- LEVEUP UP BRAZIL - Please, do not modify this procedure!
3460-- Return 0 = Not Exist
3461-- Return 1 = Exist
3462
3463SET NOCOUNT ON
3464
3465-- Check if user exists
3466IF EXISTS (SELECT 1 FROM game.account WHERE UserID = @UserID AND email = @email)
3467 SET @result = 1
3468ELSE
3469 SET @result = 0
3470
3471
3472
3473GO
3474/****** Object: StoredProcedure [dbo].[LUG_ChkLogon] Script Date: 28-05-2018 18:12:28 ******/
3475SET ANSI_NULLS ON
3476GO
3477SET QUOTED_IDENTIFIER ON
3478GO
3479
3480
3481
3482CREATE PROC [dbo].[LUG_ChkLogon]
3483(
3484 @userId NVARCHAR(24),
3485 @passwd NVARCHAR(24),
3486 @result BIT OUTPUT
3487)
3488AS
3489BEGIN
3490 IF EXISTS (SELECT 1 FROM game.login (NOLOCK) WHERE [userId] = @userId AND password = @passwd)
3491 SET @result = 1
3492 ELSE
3493 SET @result = 0
3494END
3495
3496
3497
3498
3499
3500
3501GO
3502/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountData] Script Date: 28-05-2018 18:12:28 ******/
3503SET ANSI_NULLS ON
3504GO
3505SET QUOTED_IDENTIFIER ON
3506GO
3507
3508
3509CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountData]
3510(
3511 @gameUserId VARCHAR(24),
3512 @userNameAcc VARCHAR(50),
3513 @email VARCHAR(50),
3514 @birthday DATETIME,
3515 @sex BIT,
3516 @zipcode VARCHAR(10),
3517 @address VARCHAR(250),
3518 @country VARCHAR(3),
3519 @city VARCHAR(50),
3520 @state VARCHAR(2),
3521 @connecType INT,
3522 @phone VARCHAR(13),
3523 @speed INT,
3524 @msgLU BIT
3525)
3526AS
3527
3528SET XACT_ABORT ON
3529
3530BEGIN TRAN
3531
3532 --Realizando UPDATE na base RA
3533 UPDATE
3534 game.Account
3535 SET
3536 name = @userNameAcc,
3537 email = @email,
3538 age = SUBSTRING(CONVERT(VARCHAR, @birthday,103), 7, 4),
3539 sex = @sex,
3540 zipcode = @zipcode,
3541 address = @address,
3542 country = @country
3543 WHERE
3544 userid = @gameUserId
3545
3546 IF @@ERROR <> 0
3547 BEGIN
3548 ROLLBACK TRAN
3549 RETURN
3550 END
3551
3552 --Realizando UPDATE na base RA
3553 UPDATE
3554 personal
3555 SET
3556 birthday = convert(smalldatetime, @birthday, 112),
3557 city = @city,
3558 state = @state,
3559 connecType = @connecType,
3560 phone = @phone,
3561 speed = @speed,
3562 msgLU = @msgLU
3563 FROM
3564 game.personalInfoGunz personal
3565 INNER JOIN game.Account acc ON personal.AID = acc.AID
3566 WHERE
3567 acc.userid = @gameUserId
3568
3569 IF @@ERROR <> 0
3570 BEGIN
3571 ROLLBACK TRAN
3572 RETURN
3573 END
3574
3575COMMIT TRAN
3576
3577
3578
3579
3580
3581GO
3582/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountEmail] Script Date: 28-05-2018 18:12:28 ******/
3583SET ANSI_NULLS OFF
3584GO
3585SET QUOTED_IDENTIFIER OFF
3586GO
3587
3588
3589CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountEmail]
3590(
3591 @gameUserId VARCHAR(24),
3592 @email VARCHAR(50)
3593)
3594AS
3595
3596SET XACT_ABORT ON
3597
3598BEGIN TRAN
3599
3600 --Realizando UPDATE na base RA
3601 UPDATE
3602 game.Account
3603 SET
3604 email = @email
3605 WHERE
3606 aid = @gameUserId
3607
3608 IF @@ERROR <> 0
3609 BEGIN
3610 ROLLBACK TRAN
3611 RETURN
3612 END
3613
3614
3615COMMIT TRAN
3616
3617
3618
3619GO
3620/****** Object: StoredProcedure [dbo].[LUG_ValidateForumUserTD] Script Date: 28-05-2018 18:12:28 ******/
3621SET ANSI_NULLS ON
3622GO
3623SET QUOTED_IDENTIFIER ON
3624GO
3625
3626
3627CREATE PROC [dbo].[LUG_ValidateForumUserTD]
3628@userId VARCHAR(24),
3629@passwd VARCHAR(24)
3630AS
3631
3632SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
3633SET NOCOUNT ON
3634
3635DECLARE @email VARCHAR(200)
3636
3637SELECT @email = b.email
3638FROM game.login a
3639 INNER JOIN game.account b
3640 ON a.AID = b.AID
3641WHERE a.userid = @userId
3642AND a.[password] COLLATE Latin1_General_CS_AI = @passwd
3643
3644SELECT @email AS email
3645
3646
3647
3648
3649
3650
3651GO
3652/****** Object: StoredProcedure [dbo].[spAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3653SET ANSI_NULLS ON
3654GO
3655SET QUOTED_IDENTIFIER ON
3656GO
3657
3658
3659-- 멤버 추가
3660CREATE PROC [dbo].[spAddClanMember]
3661 @CLID int,
3662 @CID int,
3663 @Grade tinyint
3664AS
3665 SET NOCOUNT ON
3666 -- í´ëžœì´ 존재하는지 ì²´í¬
3667 DECLARE @varClanCount int
3668
3669 SELECT @varClanCount=COUNT(*) FROM Clan(nolock) WHERE CLID=@CLID AND ((DeleteFlag IS NULL) OR (DeleteFlag=0))
3670 IF (@varClanCount = 0)
3671 BEGIN
3672 SELECT 0 AS Ret
3673 return (-1)
3674 END
3675
3676 -- í´ëžœì›ìˆ˜ ì²´í¬
3677 DECLARE @MemberCount int
3678
3679 SELECT @MemberCount=COUNT(*) FROM ClanMember(nolock) WHERE CLID=@CLID
3680 IF @MemberCount >= 64 -- 최대 64명까지 가능
3681 BEGIN
3682 SELECT 0 AS Ret
3683 return (-1)
3684 END
3685
3686 BEGIN TRAN
3687 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@CLID, @CID, @Grade, GETDATE())
3688 IF 0 <> @@ERROR BEGIN
3689 ROLLBACK TRAN
3690 SELECT 0 AS Ret
3691 RETURN (-1)
3692 END
3693 COMMIT TRAN
3694 SELECT 1 AS Ret
3695
3696
3697
3698
3699
3700GO
3701/****** Object: StoredProcedure [dbo].[spAddFriend] Script Date: 28-05-2018 18:12:28 ******/
3702SET ANSI_NULLS ON
3703GO
3704SET QUOTED_IDENTIFIER ON
3705GO
3706
3707
3708-- sp
3709
3710-- 친구 추가
3711CREATE PROC [dbo].[spAddFriend]
3712 @CID int
3713, @FriendCID int
3714, @Favorite tinyint
3715AS
3716BEGIN TRAN
3717 SET NOCOUNT ON
3718 DECLARE @ID int
3719 INSERT INTO Friend(CID, FriendCID, Favorite, DeleteFlag, Type) Values (@CID, @FriendCID, @Favorite, 0, 1)
3720 IF 0 <> @@ERROR BEGIN
3721 ROLLBACK TRAN
3722 RETURN
3723 END
3724 SET @ID = @@IDENTITY
3725 SELECT @ID as ID
3726COMMIT TRAN
3727
3728
3729
3730
3731
3732GO
3733/****** Object: StoredProcedure [dbo].[spAdmWebAccountItemInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
3734SET ANSI_NULLS ON
3735GO
3736SET QUOTED_IDENTIFIER ON
3737GO
3738
3739CREATE PROC [dbo].[spAdmWebAccountItemInfoByAID]
3740 @AID int
3741AS
3742 SET NOCOUNT ON
3743 SELECT ai.AIID, ai.RentHourPeriod, i.Name, i.ItemID
3744 , CASE ISNULL(RentDate, 0 )
3745 WHEN 0 THEN '0'
3746 ELSE (RentHourPeriod-DATEDIFF (hh, RentDate, GetDate()))
3747 END AS RentRemain
3748 , CASE ISNULL(ai.RentDate, 0)
3749 WHEN 0 THEN '0'
3750 ELSE CAST(ai.RentDate AS varchar(24))
3751 END as RentDate
3752 FROM AccountItem ai(NOLOCK) JOIN Item i(NOLOCK)
3753 ON ai.AID = @AID AND i.ItemID = ai.ItemID
3754
3755
3756
3757
3758GO
3759/****** Object: StoredProcedure [dbo].[spAdmWebAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3760SET ANSI_NULLS ON
3761GO
3762SET QUOTED_IDENTIFIER ON
3763GO
3764
3765CREATE PROC [dbo].[spAdmWebAddClanMember]
3766 @CLID int
3767, @NewCID int
3768, @GMID varchar(20)
3769, @Ret int OUTPUT
3770AS
3771 SET NOCOUNT ON
3772
3773 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK)
3774 WHERE CID = @NewCID AND DeleteFlag <> 1) BEGIN
3775 SET @Ret = 0
3776 RETURN @Ret
3777 END
3778
3779 IF NOT EXISTS (SELECT CLID FROM Clan(NOLOCK)
3780 WHERE CLID = @CLID AND DeleteFlag <> 1) BEGIN
3781 SET @Ret = 0
3782 RETURN @Ret
3783 END
3784
3785 IF EXISTS (SELECT CMID FROM ClanMember(NOLOCK)
3786 WHERE CID = @NewCID) BEGIN
3787 SET @Ret = 0
3788 RETURN @Ret
3789 END
3790
3791 INSERT INTO ClanMember(CLID, CID, Grade, RegDate, ContPoint)
3792 VALUES (@CLID, @NewCID, 9, GETDATE(), 0)
3793 IF 0 <> @@ERROR BEGIN
3794 SET @Ret = 0
3795 RETURN @Ret
3796 END
3797
3798 SET @Ret = 1
3799 RETURN @Ret
3800
3801
3802
3803
3804GO
3805/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharDeathCount] Script Date: 28-05-2018 18:12:28 ******/
3806SET ANSI_NULLS ON
3807GO
3808SET QUOTED_IDENTIFIER ON
3809GO
3810
3811CREATE PROC [dbo].[spAdmWebChangeCharDeathCount]
3812 @CID int
3813, @DeathCount int
3814, @GMID varchar(20)
3815, @Ret int OUTPUT
3816AS
3817 SET NOCOUNT ON
3818
3819 IF (0 > @DeathCount) BEGIN
3820 SET @Ret = 0
3821 RETURN @Ret
3822 END
3823
3824 UPDATE Character SET DeathCount = @DeathCount
3825 WHERE CID = @CID
3826 IF 0 = @@ROWCOUNT BEGIN
3827 SET @Ret = 0
3828 RETURN @Ret
3829 END
3830
3831 SET @Ret = 1
3832 RETURN @Ret
3833
3834
3835
3836
3837GO
3838/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharKillCount] Script Date: 28-05-2018 18:12:28 ******/
3839SET ANSI_NULLS ON
3840GO
3841SET QUOTED_IDENTIFIER ON
3842GO
3843
3844CREATE PROC [dbo].[spAdmWebChangeCharKillCount]
3845 @CID int
3846, @KillCount int
3847, @GMID varchar(20)
3848, @Ret int OUTPUT
3849AS
3850 SET NOCOUNT ON
3851 IF (0 > @KillCount) BEGIN
3852 SET @Ret = 0
3853 RETURN @Ret
3854 END
3855
3856 UPDATE Character SET KillCount = @KillCount
3857 WHERE CID = @CID
3858 IF 0 = @@ROWCOUNT BEGIN
3859 SET @Ret = 0
3860 RETURN @Ret
3861 END
3862
3863 SET @Ret = 1
3864 RETURN @Ret
3865
3866
3867
3868
3869GO
3870/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
3871SET ANSI_NULLS ON
3872GO
3873SET QUOTED_IDENTIFIER ON
3874GO
3875
3876CREATE PROC [dbo].[spAdmWebChangeCharName]
3877 @CID int
3878, @CharName varchar(24)
3879, @GMID varchar(20)
3880, @Ret int OUTPUT
3881AS
3882 SET NOCOUNT ON
3883 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK)
3884 WHERE (DeleteFlag <> 1) AND (Name = @CharName)) BEGIN
3885 UPDATE Character SET Name = @CharName WHERE CID = @CID
3886 IF 0 = @@ROWCOUNT BEGIN
3887 SET @Ret = 0
3888 RETURN @Ret
3889 END
3890 END
3891 ELSE BEGIN
3892 SET @Ret = 0
3893 RETURN @Ret
3894 END
3895
3896 SET @Ret = 1
3897 RETURN @Ret
3898
3899
3900
3901
3902GO
3903/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanEXP] Script Date: 28-05-2018 18:12:28 ******/
3904SET ANSI_NULLS ON
3905GO
3906SET QUOTED_IDENTIFIER ON
3907GO
3908
3909CREATE PROC [dbo].[spAdmWebChangeClanEXP]
3910 @CLID int
3911, @NewEXP int
3912, @GMID varchar(20)
3913, @Ret int OUTPUT
3914AS
3915 SET NOCOUNT ON
3916
3917 IF 0 > @NewEXP BEGIN
3918 SET @Ret = 0
3919 RETURN @Ret
3920 END
3921
3922 UPDATE Clan SET EXP = @NewEXP
3923 WHERE CLID = @CLID AND DeleteFlag <> 1
3924 IF 0 = @@ROWCOUNT BEGIN
3925 SET @Ret = 0
3926 RETURN @Ret
3927 END
3928
3929 SET @Ret = 1
3930 RETURN @Ret
3931
3932
3933
3934
3935GO
3936/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanHomepage] Script Date: 28-05-2018 18:12:28 ******/
3937SET ANSI_NULLS ON
3938GO
3939SET QUOTED_IDENTIFIER ON
3940GO
3941
3942CREATE PROC [dbo].[spAdmWebChangeClanHomepage]
3943 @CLID int
3944, @NewHomePage varchar(128)
3945, @GMID varchar(20)
3946, @Ret int OUTPUT
3947AS
3948 SET NOCOUNT ON
3949
3950 UPDATE Clan SET Homepage = @NewHomepage
3951 WHERE CLID = @CLID AND DeleteFlag <> 1
3952 IF 0 = @@ROWCOUNT BEGIN
3953 SET @Ret = 0
3954 RETURN @Ret
3955 END
3956
3957 SET @Ret = 1
3958 RETURN @Ret
3959
3960
3961
3962
3963GO
3964/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanIntroduction] Script Date: 28-05-2018 18:12:28 ******/
3965SET ANSI_NULLS ON
3966GO
3967SET QUOTED_IDENTIFIER ON
3968GO
3969
3970CREATE PROC [dbo].[spAdmWebChangeClanIntroduction]
3971 @CLID int
3972, @NewIntroduction varchar(1024)
3973, @GMID varchar(20)
3974, @Ret int OUTPUT
3975AS
3976 SET NOCOUNT ON
3977
3978 UPDATE Clan SET Introduction = @NewIntroduction WHERE CLID = @CLID
3979 IF 0 = @@ROWCOUNT BEGIN
3980 SET @Ret = 0
3981 RETURN @Ret
3982 END
3983
3984 SET @Ret = 1
3985 RETURN @Ret
3986
3987
3988
3989
3990GO
3991/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
3992SET ANSI_NULLS ON
3993GO
3994SET QUOTED_IDENTIFIER ON
3995GO
3996
3997CREATE PROC [dbo].[spAdmWebChangeClanMemberGrade]
3998 @CLID int
3999, @CID int
4000, @NewGrade int
4001, @GMID varchar(20)
4002, @Ret int OUTPUT
4003AS
4004 SET NOCOUNT ON
4005
4006 IF NOT EXISTS (SELECT GradeID FROM ClanMemberGrade(NOLOCK)
4007 WHERE GradeID=@NewGrade) BEGIN
4008 SET @Ret=0
4009 RETURN @Ret
4010 END
4011
4012 IF 1=@NewGrade BEGIN -- master duplication check.
4013 IF EXISTS (SELECT CID FROM ClanMember(NOLOCK)
4014 WHERE CLID=@CLID AND Grade=@NewGrade) BEGIN
4015 SET @Ret=0
4016 RETURN @Ret
4017 END
4018 END
4019
4020 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
4021 IF 0=@@ROWCOUNT BEGIN
4022 SET @Ret=0
4023 RETURN @Ret
4024 END
4025
4026 SET @Ret=1
4027 RETURN @Ret
4028
4029
4030
4031
4032GO
4033/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanName] Script Date: 28-05-2018 18:12:28 ******/
4034SET ANSI_NULLS ON
4035GO
4036SET QUOTED_IDENTIFIER ON
4037GO
4038
4039CREATE PROC [dbo].[spAdmWebChangeClanName]
4040 @CLID int
4041, @NewClanName varchar(24)
4042, @GMID varchar(20)
4043, @Ret int OUTPUT
4044AS
4045 SET NOCOUNT ON
4046
4047 IF EXISTS (SELECT CLID FROM Clan(NOLOCK)
4048 WHERE Name = @NewClanName AND DeleteFlag <> 1) BEGIN
4049 SET @Ret = 0
4050 RETURN @Ret
4051 END
4052
4053 UPDATE Clan SET Name = @NewClanName
4054 WHERE CLID = @CLID AND DeleteFlag <> 1
4055 IF 0 = @@ROWCOUNT BEGIN
4056 SET @Ret = 0
4057 RETURN @Ret
4058 END
4059
4060 SET @Ret = 1
4061 RETURN @Ret
4062
4063
4064
4065
4066GO
4067/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanPoint] Script Date: 28-05-2018 18:12:28 ******/
4068SET ANSI_NULLS ON
4069GO
4070SET QUOTED_IDENTIFIER ON
4071GO
4072
4073CREATE PROC [dbo].[spAdmWebChangeClanPoint]
4074 @CLID int
4075, @NewClanPoint int
4076, @GMID varchar(20)
4077, @Ret int OUTPUT
4078AS
4079 SET NOCOUNT ON
4080
4081 IF 0 > @NewClanPoint BEGIN
4082 SET @Ret = 0
4083 RETURN @Ret
4084 END
4085
4086 UPDATE Clan SET Point = @NewClanPoint
4087 WHERE CLID = @CLID AND DeleteFlag <> 1
4088 IF 0 = @@ROWCOUNT BEGIN
4089 SET @Ret = 0
4090 RETURN @Ret
4091 END
4092
4093 SET @Ret = 1
4094 RETURN @Ret
4095
4096
4097
4098
4099GO
4100/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanTotalPoint] Script Date: 28-05-2018 18:12:28 ******/
4101SET ANSI_NULLS ON
4102GO
4103SET QUOTED_IDENTIFIER ON
4104GO
4105
4106CREATE PROC [dbo].[spAdmWebChangeClanTotalPoint]
4107 @CLID int
4108, @NewClanTotalPoint int
4109, @GMID varchar(20)
4110, @Ret int OUTPUT
4111AS
4112 SET NOCOUNT ON
4113
4114 IF 0 > @NewClanTotalPoint BEGIN
4115 SET @Ret = 0
4116 RETURN @Ret
4117 END
4118
4119 UPDATE Clan SET TotalPoint = @NewClanTotalPoint
4120 WHERE CLID = @CLID AND DeleteFlag <> 1
4121 IF 0 = @@ROWCOUNT BEGIN
4122 SET @Ret = 0
4123 RETURN @Ret
4124 END
4125
4126 SET @Ret = 1
4127 RETURN @Ret
4128
4129
4130
4131
4132GO
4133/****** Object: StoredProcedure [dbo].[spAdmWebChangeWinsLosses] Script Date: 28-05-2018 18:12:28 ******/
4134SET ANSI_NULLS ON
4135GO
4136SET QUOTED_IDENTIFIER ON
4137GO
4138
4139CREATE PROC [dbo].[spAdmWebChangeWinsLosses]
4140 @CLID int
4141, @NewWins int
4142, @NewLosses int
4143, @GMID varchar(20)
4144, @Ret int OUTPUT
4145AS
4146 SET NOCOUNT ON
4147
4148 IF (0 > @NewWins) OR (0 > @NewLosses) BEGIN
4149 SET @Ret = 0
4150 RETURN @Ret
4151 END
4152
4153 UPDATE Clan SET Wins = @NewWins, Losses = @NewLosses
4154 WHERE CLID = @CLID AND DeleteFlag <> 1
4155 IF 0=@@ROWCOUNT BEGIN
4156 SET @Ret = 0
4157 RETURN @Ret
4158 END
4159
4160 SET @Ret = 1
4161 RETURN @Ret
4162
4163
4164
4165
4166GO
4167/****** Object: StoredProcedure [dbo].[spAdmWebDeleteAccountItem] Script Date: 28-05-2018 18:12:28 ******/
4168SET ANSI_NULLS ON
4169GO
4170SET QUOTED_IDENTIFIER ON
4171GO
4172
4173CREATE PROC [dbo].[spAdmWebDeleteAccountItem]
4174 @AID int
4175, @AIID int
4176, @ItemID int
4177, @GMID varchar(20)
4178, @Ret int OUTPUT
4179AS
4180 SET NOCOUNT ON
4181
4182 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK)
4183 WHERE AID = @AID) BEGIN
4184 SET @Ret = 0
4185 RETURN @Ret
4186 END
4187
4188 DELETE AccountItem WHERE AIID = @AIID AND AID = @AID AND ItemID = @ItemID
4189 IF 0 <> @@ERROR BEGIN
4190 SET @Ret = 0
4191 RETURN @Ret
4192 END
4193
4194 SET @Ret = 1
4195 RETURN @Ret
4196
4197
4198
4199
4200GO
4201/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
4202SET ANSI_NULLS ON
4203GO
4204SET QUOTED_IDENTIFIER ON
4205GO
4206
4207CREATE PROC [dbo].[spAdmWebDeleteCashSetShopItem]
4208 @CSSID int
4209, @Ret int OUTPUT
4210AS
4211 SET NOCOUNT ON
4212 DELETE CashSetShop WHERE CSSID = @CSSID
4213 IF 0 <> @@ERROR BEGIN
4214 SET @Ret = 0
4215 RETURN
4216 END
4217
4218 SET @Ret = 1
4219 RETURN @Ret
4220
4221
4222
4223
4224GO
4225/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
4226SET ANSI_NULLS ON
4227GO
4228SET QUOTED_IDENTIFIER ON
4229GO
4230
4231CREATE PROC [dbo].[spAdmWebDeleteCashShopItem]
4232 @CSID int
4233, @Ret int OUTPUT
4234AS
4235 SET NOCOUNT ON
4236
4237 BEGIN TRAN
4238 DELETE CashShop WHERE CSID = @CSID
4239 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4240 ROLLBACK TRAN
4241 SET @Ret = 0
4242 RETURN @Ret
4243 END
4244
4245 DELETE RentCashShopPrice WHERE CSID = @CSID
4246 IF 0 <> @@ERROR BEGIN
4247 ROLLBACK TRAN
4248 SET @Ret = 0
4249 RETURN @Ret
4250 END
4251 COMMIT TRAN
4252
4253 SET @Ret = 1
4254 RETURN @Ret
4255
4256
4257
4258
4259GO
4260/****** Object: StoredProcedure [dbo].[spAdmWebDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
4261SET ANSI_NULLS ON
4262GO
4263SET QUOTED_IDENTIFIER ON
4264GO
4265
4266CREATE PROC [dbo].[spAdmWebDeleteChar]
4267 @AID int
4268, @CharNum smallint
4269, @CharName varchar(24)
4270, @GMID varchar(20)
4271, @Ret int OUTPUT
4272AS
4273 SET NOCOUNT ON
4274
4275 DECLARE @CID int
4276 DECLARE @ErrSlot int
4277 DECLARE @ErrDelInfo int
4278 DECLARE @ErrName int
4279
4280 SELECT @CID = CID FROM Character(NOLOCK)
4281 WHERE AID = @AID AND Name = @CharName AND CharNum = @CharNum
4282 IF @CID IS NULL BEGIN
4283 SET @Ret = 0
4284 RETURN @Ret
4285 END
4286
4287 BEGIN TRAN
4288 -- ìºì‰¬ì•„ì´í…œì€ 중앙ì€í–‰ìœ¼ë¡œ ëŒë ¤ì¤˜ì•¼ 함.
4289 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod, Cnt )
4290 SELECT @AID AS AID, ItemID, RentDate, RentHourPeriod, Cnt
4291 FROM CharacterItem(NOLOCK)
4292 WHERE CID = @CID AND ItemID > 499999
4293 IF 0 <> @@ERROR BEGIN
4294 ROLLBACK TRAN
4295 SET @Ret = 0
4296 RETURN @Ret
4297 END
4298
4299 DELETE CharacterItem WHERE CID = @CID
4300 IF 0 <> @@ERROR BEGIN
4301 ROLLBACK TRAN
4302 SET @Ret = 0
4303 RETURN @Ret
4304 END
4305
4306 UPDATE Character SET head_slot = NULL, chest_slot = NULL, hands_slot = NULL,
4307 legs_slot = NULL, feet_slot = NULL, fingerl_slot = NULL,
4308 fingerr_slot = NULL, melee_slot = NULL, primary_slot = NULL,
4309 secondary_slot = NULL, custom1_slot = NULL, custom2_slot = NULL
4310 WHERE CID = @CID
4311 SET @ErrSlot = @@ROWCOUNT
4312
4313 UPDATE Character SET DeleteName = Name, DeleteFlag = 1 WHERE CID = @CID
4314 SET @ErrDelInfo = @@ROWCOUNT
4315
4316 UPDATE Character SET Name = '' WHERE CID = @CID
4317 SET @ErrName = @@ROWCOUNT
4318
4319 IF (0 = @ErrSlot) OR (0 = @ErrDelInfo) OR (0 = @ErrName) BEGIN
4320 ROLLBACK TRAN
4321 SET @Ret = 0
4322 RETURN @Ret
4323 END
4324 COMMIT TRAN
4325
4326 SET @Ret = 1
4327 RETURN @Ret
4328
4329
4330
4331
4332GO
4333/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
4334SET ANSI_NULLS ON
4335GO
4336SET QUOTED_IDENTIFIER ON
4337GO
4338
4339CREATE PROC [dbo].[spAdmWebDeleteCharacterItem]
4340 @CID int
4341, @CIID int
4342, @ItemID int
4343, @GMID varchar(20)
4344, @Ret int OUTPUT
4345AS
4346 SET NOCOUNT ON
4347
4348 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4349 SET @Ret = 0
4350 RETURN @Ret
4351 END
4352
4353 -- ì‚ì œí•˜ë ¤ëŠ” ì•„ì´í…œì„ ì°©ìš©í•˜ê³ ìžˆë‹¤ë©´ ë¨¼ì € í•´ì œì‹œì³ì•¼ 함.
4354 BEGIN TRAN
4355 UPDATE Character SET head_slot = NULL WHERE CID = @CID AND head_slot = @CIID
4356 UPDATE Character SET chest_slot = NULL WHERE CID = @CID AND chest_slot = @CIID
4357 UPDATE Character SET hands_slot = NULL WHERE CID = @CID AND hands_slot = @CIID
4358 UPDATE Character SET legs_slot = NULL WHERE CID = @CID AND legs_slot = @CIID
4359 UPDATE Character SET feet_slot = NULL WHERE CID = @CID AND feet_slot = @CIID
4360 UPDATE Character SET fingerl_slot = NULL WHERE CID = @CID AND fingerl_slot = @CIID
4361 UPDATE Character SET fingerr_slot = NULL WHERE CID = @CID AND fingerr_slot = @CIID
4362 UPDATE Character SET melee_slot = NULL WHERE CID = @CID AND melee_slot = @CIID
4363 UPDATE Character SET primary_slot = NULL WHERE CID = @CID AND primary_slot = @CIID
4364 UPDATE Character SET secondary_slot = NULL WHERE CID = @CID AND secondary_slot = @CIID
4365 UPDATE Character SET custom1_slot = NULL WHERE CID = @CID AND custom1_slot = @CIID
4366 UPDATE Character SET custom2_slot = NULL WHERE CID = @CID AND custom2_slot = @CIID
4367
4368 DELETE CharacterItem WHERE CIID = @CIID AND CID = @CID AND ItemID = @ItemID
4369 IF 0 <> @@ERROR BEGIN
4370 ROLLBACK TRAN
4371 SET @Ret = 0
4372 RETURN @Ret
4373 END
4374 COMMIT TRAN
4375
4376 SET @Ret = 1
4377 RETURN @Ret
4378
4379
4380
4381
4382GO
4383/****** Object: StoredProcedure [dbo].[spAdmWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
4384SET ANSI_NULLS ON
4385GO
4386SET QUOTED_IDENTIFIER ON
4387GO
4388
4389CREATE PROC [dbo].[spAdmWebDeleteClanByCID]
4390 @MasterCID int /* 마스터 CID */
4391AS
4392 SET NOCOUNT ON
4393 DECLARE @CLID int
4394
4395 SELECT @CLID = c.CLID
4396 FROM Clan c(NOLOCK)
4397 WHERE c.MasterCID = @MasterCID
4398
4399 -- ìš”ì² ì¡°ê±´ 검사.
4400 IF (@MasterCID IS NULL) OR (@CLID IS NULL) BEGIN
4401 SELECT 0 AS Ret
4402 ROLLBACK TRAN
4403 RETURN
4404 END
4405
4406 BEGIN TRAN
4407 -- Clan Member ì‚ì œ.
4408 DELETE ClanMember WHERE CLID = @CLID
4409 IF 0 <> @@ERROR BEGIN
4410 SELECT 0 AS Ret
4411 ROLLBACK TRAN
4412 RETURN
4413 END
4414
4415 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
4416 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL WHERE CLID = @CLID
4417 UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
4418 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
4419 COMMIT TRAN
4420
4421 SELECT 1 AS Ret
4422
4423
4424
4425
4426GO
4427/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
4428SET ANSI_NULLS ON
4429GO
4430SET QUOTED_IDENTIFIER ON
4431GO
4432
4433
4434CREATE PROC [dbo].[spAdmWebDeleteCustomIP]
4435 @IPFrom varchar(15)
4436, @IPTo varchar(15)
4437, @Ret int OUTPUT
4438AS
4439 SET NOCOUNT ON
4440 DECLARE @TmpIPFrom BIGINT
4441 DECLARE @TmpIPTo BIGINT
4442
4443 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
4444 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
4445 IF @TmpIPFrom > @TmpIPTo BEGIN
4446 SET @Ret = 0
4447 RETURN @Ret
4448 END
4449
4450 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
4451 IF 0 <> @@ERROR SET @Ret = 0
4452 ELSE SET @Ret = 1
4453 RETURN @Ret
4454
4455
4456
4457
4458
4459GO
4460/****** Object: StoredProcedure [dbo].[spAdmWebDeleteOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
4461SET ANSI_NULLS ON
4462GO
4463SET QUOTED_IDENTIFIER ON
4464GO
4465
4466CREATE PROC [dbo].[spAdmWebDeleteOneCashSetItem]
4467 @CSSID int
4468, @CSID int
4469, @Ret int OUTPUT
4470AS
4471 SET NOCOUNT ON
4472 DELETE CashSetItem WHERE CSSID = @CSSID AND CSID = @CSID
4473 IF (0 <> @@ERROR) BEGIN
4474 SET @Ret = 0
4475 RETURN @Ret
4476 END
4477 SET @Ret = 1
4478 RETURN @Ret
4479
4480
4481
4482
4483GO
4484/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4485SET ANSI_NULLS ON
4486GO
4487SET QUOTED_IDENTIFIER ON
4488GO
4489
4490CREATE PROC [dbo].[spAdmWebDeleteRentCashSetShopPrice]
4491 @RCSSPID int
4492, @CSSID int
4493, @Ret int OUTPUT
4494AS
4495 SET NOCOUNT ON
4496 DELETE RentCashSetShopPrice WHERE RCSSPID = @RCSSPID AND CSSID = @CSSID
4497 IF 0 <> @@ERROR BEGIN
4498 SET @Ret = 0
4499 RETURN @Ret
4500 END
4501
4502 SET @Ret = 1
4503 RETURN @Ret
4504
4505
4506
4507
4508GO
4509/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4510SET ANSI_NULLS ON
4511GO
4512SET QUOTED_IDENTIFIER ON
4513GO
4514
4515CREATE PROC [dbo].[spAdmWebDeleteRentCashShopPrice]
4516 @RCSPID int
4517, @CSID int
4518, @Ret int OUTPUT
4519AS
4520 SET NOCOUNT ON
4521 DELETE RentCashShopPrice WHERE RCSPID = @RCSPID AND CSID = @CSID
4522 IF 0 <> @@ERROR BEGIN
4523 SET @Ret = 0
4524 RETURN @Ret
4525 END
4526 SET @Ret = 1
4527 RETURN @Ret
4528
4529
4530
4531
4532GO
4533/****** Object: StoredProcedure [dbo].[spAdmWebEditCharBP] Script Date: 28-05-2018 18:12:28 ******/
4534SET ANSI_NULLS ON
4535GO
4536SET QUOTED_IDENTIFIER ON
4537GO
4538
4539CREATE PROC [dbo].[spAdmWebEditCharBP]
4540 @CID int
4541, @BP int
4542, @GMID varchar(20)
4543, @Ret int OUTPUT
4544AS
4545 SET NOCOUNT ON
4546 UPDATE Character SET BP = @BP WHERE CID = @CID
4547 IF 0 = @@ROWCOUNT BEGIN
4548 SET @Ret = 0
4549 RETURN @Ret
4550 END
4551
4552 SET @Ret = 1
4553 RETURN @Ret
4554
4555
4556
4557
4558GO
4559/****** Object: StoredProcedure [dbo].[spAdmWebEditCharKillDeathCount] Script Date: 28-05-2018 18:12:28 ******/
4560SET ANSI_NULLS ON
4561GO
4562SET QUOTED_IDENTIFIER ON
4563GO
4564
4565CREATE PROC [dbo].[spAdmWebEditCharKillDeathCount]
4566 @CID int
4567, @KillCount int
4568, @DeathCount int
4569, @GMID varchar(20)
4570, @Ret int OUTPUT
4571AS
4572 IF (0 > @KillCount) OR (0 > @DeathCount) BEGIN
4573 SET @Ret = 0
4574 RETURN @Ret
4575 END
4576
4577 UPDATE Character SET KillCount = @KillCount, DeathCount = @DeathCount
4578 WHERE CID = @CID
4579 IF 0 = @@ROWCOUNT BEGIN
4580 SET @Ret = 0
4581 RETURN @Ret
4582 END
4583
4584 SET @Ret = 1
4585 RETURN @Ret
4586
4587
4588
4589
4590GO
4591/****** Object: StoredProcedure [dbo].[spAdmWebEditCharLevel] Script Date: 28-05-2018 18:12:28 ******/
4592SET ANSI_NULLS ON
4593GO
4594SET QUOTED_IDENTIFIER ON
4595GO
4596
4597CREATE PROC [dbo].[spAdmWebEditCharLevel]
4598 @CID int
4599, @Level smallint
4600, @GMID varchar(20)
4601, @Ret int OUTPUT
4602AS
4603 SET NOCOUNT ON
4604
4605 IF (1 > @Level) OR (99 < @Level) BEGIN
4606 SET @Ret = -1
4607 RETURN @Ret
4608 END
4609
4610 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4611 SET @Ret = -2
4612 RETURN @Ret
4613 END
4614
4615 IF EXISTS (SELECT CID FROM Character(NOLOCK)
4616 WHERE CID = @CID AND Level = @Level) BEGIN
4617 SET @Ret = 1
4618 RETURN @Ret
4619 END
4620
4621 DECLARE @XP int
4622
4623 SELECT @XP = MinXP FROM Level(NOLOCK) WHERE Level = @Level
4624 IF @XP IS NULL BEGIN
4625 SET @Ret = -3
4626 RETURN @Ret
4627 END
4628
4629 UPDATE Character SET Level = @Level, XP = @XP WHERE CID = @CID AND DeleteFlag <> 1
4630 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4631 SET @Ret = -4
4632 RETURN @Ret
4633 END
4634
4635
4636
4637
4638GO
4639/****** Object: StoredProcedure [dbo].[spAdmWebEditCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
4640SET ANSI_NULLS ON
4641GO
4642SET QUOTED_IDENTIFIER ON
4643GO
4644
4645CREATE PROC [dbo].[spAdmWebEditCharPlayTime]
4646 @CID int
4647, @PlayTime int
4648, @GMID varchar(20)
4649, @Ret int OUTPUT
4650AS
4651 SET NOCOUNT ON
4652 IF (0 > @PlayTime) BEGIN
4653 SET @Ret = 0
4654 RETURN @Ret
4655 END
4656
4657 UPDATE Character SET PlayTime = @PlayTime WHERE CID = @CID
4658 IF 0 = @@ROWCOUNT BEGIN
4659 SET @Ret = 0
4660 RETURN @Ret
4661 END
4662
4663 SET @Ret = 1
4664 RETURN @Ret
4665
4666
4667
4668
4669GO
4670/****** Object: StoredProcedure [dbo].[spAdmWebEditCharXP] Script Date: 28-05-2018 18:12:28 ******/
4671SET ANSI_NULLS ON
4672GO
4673SET QUOTED_IDENTIFIER ON
4674GO
4675
4676CREATE PROC [dbo].[spAdmWebEditCharXP]
4677 @CID int
4678, @XP int
4679, @GMID varchar(20)
4680, @Ret int OUTPUT
4681AS
4682 SET NOCOUNT ON
4683
4684 IF 0 > @XP BEGIN
4685 SET @Ret = 0
4686 RETURN @Ret
4687 END
4688
4689 DECLARE @MaxMinXP int
4690 DECLARE @Level smallint
4691
4692 SELECT TOP 1 @MaxMinXP = MinXP FROM Level(NOLOCK)
4693 ORDER BY MinXP DESC
4694
4695 IF @MaxMinXP > @XP BEGIN
4696 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4697 WHERE MinXP <= @XP ORDER BY Level DESC
4698 END
4699 ELSE BEGIN
4700 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4701 ORDER BY Level DESC
4702 END
4703
4704 UPDATE Character SET Level = @Level, XP = @XP
4705 WHERE CID = @CID AND DeleteFlag <> 1
4706 IF 0 = @@ROWCOUNT BEGIN
4707 SET @Ret = 0
4708 RETURN @Ret
4709 END
4710
4711 SET @Ret = 1
4712 RETURN @Ret
4713
4714
4715
4716
4717GO
4718/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4719SET ANSI_NULLS ON
4720GO
4721SET QUOTED_IDENTIFIER ON
4722GO
4723
4724CREATE PROC [dbo].[spAdmWebGetAccountInfoByAID]
4725 @AID int
4726AS
4727 SET NOCOUNT ON
4728
4729 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4730 FROM Account(NOLOCK)
4731 WHERE AID = @AID
4732
4733
4734
4735
4736GO
4737/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4738SET ANSI_NULLS ON
4739GO
4740SET QUOTED_IDENTIFIER ON
4741GO
4742
4743CREATE PROC [dbo].[spAdmWebGetAccountInfoByCharName]
4744 @CharName varchar( 24 )
4745AS
4746 SET NOCOUNT ON
4747
4748 SELECT a.UserID, a.AID, a.RegDate, a.UGradeID, a.Sex, a.Age, a.Name
4749 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
4750 ON c.Name = @CharName AND c.AID = a.AID
4751
4752
4753
4754
4755GO
4756/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4757SET ANSI_NULLS ON
4758GO
4759SET QUOTED_IDENTIFIER ON
4760GO
4761
4762CREATE PROC [dbo].[spAdmWebGetAccountInfoByUserID]
4763 @UserID varchar( 20 )
4764AS
4765 SET NOCOUNT ON
4766
4767 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4768 FROM Account(NOLOCK)
4769 WHERE UserID = @UserID
4770
4771
4772
4773
4774GO
4775/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountJoinStatistics] Script Date: 28-05-2018 18:12:28 ******/
4776SET ANSI_NULLS ON
4777GO
4778SET QUOTED_IDENTIFIER ON
4779GO
4780
4781CREATE PROC [dbo].[spAdmWebGetAccountJoinStatistics]
4782 @StartDate smalldatetime
4783, @EndDate smalldatetime
4784AS
4785 SET NOCOUNT ON
4786
4787 SELECT convert(char(10), RegDate, 120) as Date ,count(AID) as Count
4788 FROM Account(nolock)
4789 WHERE RegDate between convert(datetime, @StartDate) and convert(datetime, @EndDate)
4790 GROUP BY convert(char(10), RegDate, 120)
4791
4792
4793
4794
4795GO
4796/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4797SET ANSI_NULLS ON
4798GO
4799SET QUOTED_IDENTIFIER ON
4800GO
4801
4802CREATE PROC [dbo].[spAdmWebGetAllCharInfoByAID]
4803 @AID int
4804AS
4805 SET NOCOUNT ON
4806
4807 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime
4808 , c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount, c.DeleteFlag, c.DeleteName
4809 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4810 ON a.AID = @AID AND c.AID = a.AID
4811
4812
4813
4814
4815GO
4816/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4817SET ANSI_NULLS ON
4818GO
4819SET QUOTED_IDENTIFIER ON
4820GO
4821
4822CREATE PROC [dbo].[spAdmWebGetAllCharInfoByCharName]
4823 @CharName varchar( 24 )
4824AS
4825 SET NOCOUNT ON
4826
4827 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
4828 CharNum, Level, XP, BP, DeleteFlag, DeleteName,
4829 KillCount, DeathCount
4830 FROM Character(NOLOCK)
4831 WHERE Name = @CharName
4832 ORDER BY DeleteFlag, CharNum
4833
4834
4835
4836
4837GO
4838/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4839SET ANSI_NULLS ON
4840GO
4841SET QUOTED_IDENTIFIER ON
4842GO
4843
4844CREATE PROC [dbo].[spAdmWebGetAllCharInfoByOneCharName]
4845 @CharName varchar(24)
4846AS
4847 SET NOCOUNT ON
4848
4849 SELECT c2.Name, c2.CID
4850 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4851 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4852 ON c2.AID = a.AID
4853 ORDER BY c2.DeleteFlag, c2.CharNum
4854
4855
4856
4857
4858GO
4859/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4860SET ANSI_NULLS ON
4861GO
4862SET QUOTED_IDENTIFIER ON
4863GO
4864
4865CREATE PROC [dbo].[spAdmWebGetAllCharInfoByUserID]
4866 @UserID varchar( 20 )
4867AS
4868 SET NOCOUNT ON
4869
4870 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
4871 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag,
4872 c.DeleteName, c.KillCount, c.DeathCount
4873 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4874 ON a.UserID = @UserID AND c.AID = a.AID
4875 ORDER BY c.DeleteFlag, c.CharNum
4876
4877
4878
4879
4880GO
4881/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
4882SET ANSI_NULLS ON
4883GO
4884SET QUOTED_IDENTIFIER ON
4885GO
4886
4887CREATE PROC [dbo].[spAdmWebGetAllCharNameCIDByUserID]
4888 @UserID varchar(20)
4889AS
4890 SET NOCOUNT ON
4891
4892 SELECT c.Name, c.CID, c.DeleteFlag
4893 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4894 ON a.UserID = @UserID AND c.AID = a.AID
4895 ORDER BY c.DeleteFlag, c.CharNum
4896
4897
4898
4899
4900GO
4901/****** Object: StoredProcedure [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4902SET ANSI_NULLS ON
4903GO
4904SET QUOTED_IDENTIFIER ON
4905GO
4906
4907CREATE PROC [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName]
4908 @CharName varchar( 24 )
4909AS
4910 SET NOCOUNT ON
4911
4912 SELECT c2.Name, c2.CID
4913 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4914 ON c1.Name = 'sunge_se' AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4915 ON c2.AID = a.AID
4916 ORDER BY c2.DeleteFlag, c2.CharNum
4917
4918
4919
4920
4921GO
4922/****** Object: StoredProcedure [dbo].[spAdmWebGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
4923SET ANSI_NULLS ON
4924GO
4925SET QUOTED_IDENTIFIER ON
4926GO
4927
4928CREATE PROC [dbo].[spAdmWebGetBlockCountryCodeList]
4929 @Code char
4930AS
4931 SET NOCOUNT ON
4932
4933 SELECT bcc.CountryCode3, bcc.RoutingURL, bcc.IsBlock, cc.CountryName
4934 FROM BlockCountryCode bcc(NOLOCK) JOIN CountryCode cc(NOLOCK)
4935 ON cc.CountryCode3 = bcc.CountryCode3
4936 WHERE cc.CountryName LIKE @Code + '%'
4937 ORDER BY CountryName ASC
4938
4939
4940
4941
4942GO
4943/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLog] Script Date: 28-05-2018 18:12:28 ******/
4944SET ANSI_NULLS ON
4945GO
4946SET QUOTED_IDENTIFIER ON
4947GO
4948
4949CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLog]
4950 @CID int
4951, @ItemID int
4952AS
4953 SET NOCOUNT ON
4954
4955 SELECT ipl.id AS ID, c.Name AS CharName, ipl.ItemID, i.Name, c.CID,
4956 0 AS CIID, ipl.Bounty, ipl.CharBounty, i.Slot, ipl.Type, ipl.Date
4957 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
4958 ON c.CID = @CID AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
4959 ON i.ItemID = ipl.ItemID
4960 WHERE ipl.ItemID = @ItemID
4961 ORDER BY ipl.id DESC
4962
4963
4964
4965
4966GO
4967/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
4968SET ANSI_NULLS ON
4969GO
4970SET QUOTED_IDENTIFIER ON
4971GO
4972
4973CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName]
4974 @CharName varchar( 24 )
4975AS
4976 SET NOCOUNT ON
4977
4978 SELECT ipl.id AS ID, ipl.ItemID, i.Name, c.CID, 0 AS CIID, ipl.Bounty,
4979 ipl.CharBounty, i.Slot, ipl.type, ipl.Date
4980 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
4981 ON c.Name = @CharName AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
4982 ON i.ItemID = ipl.ItemID
4983 ORDER BY ipl.Date DESC
4984
4985
4986
4987
4988GO
4989/****** Object: StoredProcedure [dbo].[spAdmWebGetCaracterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
4990SET ANSI_NULLS ON
4991GO
4992SET QUOTED_IDENTIFIER ON
4993GO
4994
4995CREATE PROC [dbo].[spAdmWebGetCaracterMakingLog]
4996 @CharName varchar(24)
4997AS
4998 SET NOCOUNT ON
4999 SELECT a.UserID, cml.AID, cml.CharName, cml.Type, cml.Date
5000 FROM Account a(nolock), CharacterMakingLog cml(nolock)
5001 WHERE cml.CharName = @CharName AND a.AID = cml.AID
5002 ORDER BY cml.Date DESC
5003
5004
5005
5006
5007GO
5008/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5009SET ANSI_NULLS ON
5010GO
5011SET QUOTED_IDENTIFIER ON
5012GO
5013
5014CREATE PROC [dbo].[spAdmWebGetCashItemPresentRecvLog]
5015 @AID int
5016AS
5017 SET NOCOUNT ON
5018 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5019 , i.Name AS ItemName, cpl.Date, cpl.Cash
5020 , CASE ISNULL(cpl.RentHourPeriod, 0)
5021 WHEN 0 THEN '0'
5022 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5023 END AS 'RentHourPeriod'
5024 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5025 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashShop cs(NOLOCK)
5026 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5027 ON i.ItemID = cs.ItemID
5028 ORDER BY cpl.Date DESC
5029
5030
5031
5032
5033GO
5034/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5035SET ANSI_NULLS ON
5036GO
5037SET QUOTED_IDENTIFIER ON
5038GO
5039
5040CREATE PROC [dbo].[spAdmWebGetCashItemPresentSendLog]
5041 @AID int
5042AS
5043 SET NOCOUNT ON
5044 SELECT cpl.id, cpl.SenderUserID, ar.UserID AS ReceiverUserID
5045 , i.Name AS ItemName, cpl.Date, cpl.Cash
5046 , CASE ISNULL(cpl.RentHourPeriod, 0)
5047 WHEN 0 THEN '0'
5048 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5049 END AS 'RentHourPeriod'
5050 FROM (((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5051 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashShop cs(NOLOCK)
5052 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5053 ON i.ItemID = cs.ItemID) JOIN Account ar(NOLOCK)
5054 ON ar.AID = cpl.ReceiverAID
5055 ORDER BY cpl.Date DESC
5056
5057
5058
5059
5060GO
5061/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5062SET ANSI_NULLS ON
5063GO
5064SET QUOTED_IDENTIFIER ON
5065GO
5066
5067CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentRecvLog]
5068 @AID int
5069AS
5070 SET NOCOUNT ON
5071 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5072 , css.Name AS ItemName, cpl.Date, cpl.Cash
5073 , CASE ISNULL(cpl.RentHourPeriod, 0)
5074 WHEN 0 THEN '0'
5075 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5076 END AS 'RentHourPeriod'
5077 FROM (Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5078 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashSetShop css(NOLOCK)
5079 ON css.CSSID = cpl.CSSID
5080 ORDER BY cpl.Date DESC
5081
5082
5083
5084
5085GO
5086/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5087SET ANSI_NULLS ON
5088GO
5089SET QUOTED_IDENTIFIER ON
5090GO
5091
5092CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentSendLog]
5093 @AID int
5094AS
5095 SET NOCOUNT ON
5096 SELECT cpl.id, cpl.SenderUserID, aa.UserID AS ReceiverUserID
5097 , css.Name AS ItemName, cpl.Date, cpl.Cash
5098 , CASE ISNULL(cpl.RentHourPeriod, 0)
5099 WHEN 0 THEN '0'
5100 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5101 END AS 'RentHourPeriod'
5102 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5103 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashSetShop css(NOLOCK)
5104 ON css.CSSID = cpl.CSSID) JOIN Account aa(NOLOCK)
5105 ON aa.AID = cpl.ReceiverAID
5106 ORDER BY cpl.Date DESC
5107
5108
5109
5110
5111GO
5112/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetShopList] Script Date: 28-05-2018 18:12:28 ******/
5113SET ANSI_NULLS ON
5114GO
5115SET QUOTED_IDENTIFIER ON
5116GO
5117
5118CREATE PROC [dbo].[spAdmWebGetCashSetShopList]
5119AS
5120 SET NOCOUNT ON
5121 SELECT CSSID, Name
5122 FROM CashSetShop(NOLOCK)
5123 ORDER BY CSSID
5124
5125
5126
5127
5128GO
5129/****** Object: StoredProcedure [dbo].[spAdmWebGetCashShopList] Script Date: 28-05-2018 18:12:28 ******/
5130SET ANSI_NULLS ON
5131GO
5132SET QUOTED_IDENTIFIER ON
5133GO
5134
5135CREATE PROC [dbo].[spAdmWebGetCashShopList]
5136AS
5137 SET NOCOUNT ON
5138 SELECT cs.CSID, i.Name, i.Slot, cs.Opened, cs.NewItemOrder,
5139 cs.CashPrice, cs.WebImgName, ISNULL(cs.RentType, 0) AS 'RentType'
5140 FROM CashShop cs(NOLOCK) JOIN Item i(NOLOCK)
5141 ON i.ItemID = cs.ItemID
5142
5143
5144
5145
5146GO
5147/****** Object: StoredProcedure [dbo].[spAdmWebGetCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
5148SET ANSI_NULLS ON
5149GO
5150SET QUOTED_IDENTIFIER ON
5151GO
5152
5153CREATE PROC [dbo].[spAdmWebGetCharInfoByUserID]
5154 @UserID varchar(20)
5155AS
5156 SET NOCOUNT ON
5157
5158 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,c.Sex,
5159 c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag, c.DeleteName,
5160 c.KillCount, c.DeathCount
5161 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5162 ON a.UserID = @UserID AND c.AID = a.AID
5163 ORDER BY DeleteFlag, CharNum
5164
5165
5166
5167
5168GO
5169/****** Object: StoredProcedure [dbo].[spAdmWebGetCharItemByCID] Script Date: 28-05-2018 18:12:28 ******/
5170SET ANSI_NULLS ON
5171GO
5172SET QUOTED_IDENTIFIER ON
5173GO
5174
5175CREATE PROC [dbo].[spAdmWebGetCharItemByCID]
5176 @CID int
5177AS
5178BEGIN
5179 SET NOCOUNT ON
5180
5181 SELECT ci.ItemID, i.Name, ci.CIID, ci.RegDate AS RegDate,
5182 CASE
5183 WHEN ci.RentHourPeriod IS NOT NULL THEN (RentHourPeriod) - (DateDiff(hh, RentDate, GETDATE()))
5184 WHEN ci.RentHourPeriod IS NULL THEN -1
5185 ELSE -2 -- error.
5186 END AS RentPeriodRemainderHour,
5187 CASE ci.CIID
5188 WHEN c.head_slot THEN 'Head'
5189 WHEN c.chest_slot THEN 'Chest'
5190 WHEN c.hands_slot THEN 'Hands'
5191 WHEN c.legs_slot THEN 'Legs'
5192 WHEN c.feet_slot THEN 'Feet'
5193 WHEN c.fingerl_slot THEN 'Left finger'
5194 WHEN c.fingerr_slot THEN 'Right finger'
5195 WHEN c.melee_slot THEN 'Melee'
5196 WHEN c.primary_slot THEN 'Primary'
5197 WHEN c.secondary_slot THEN 'Secondary'
5198 WHEN c.custom1_slot THEN 'Custom1'
5199 WHEN c.custom2_slot THEN 'Custom2'
5200 ELSE 'Free item'
5201 END AS KeepOnPosition,
5202 CASE ci.CIID
5203 WHEN c.head_slot THEN 11
5204 WHEN c.chest_slot THEN 12
5205 WHEN c.hands_slot THEN 13
5206 WHEN c.legs_slot THEN 14
5207 WHEN c.feet_slot THEN 15
5208 WHEN c.fingerl_slot THEN 16
5209 WHEN c.fingerr_slot THEN 17
5210 WHEN c.melee_slot THEN 18
5211 WHEN c.primary_slot THEN 19
5212 WHEN c.secondary_slot THEN 20
5213 WHEN c.custom1_slot THEN 21
5214 WHEN c.custom2_slot THEN 22
5215 ELSE 23
5216 END AS Orders
5217 FROM (Character c(NOLOCK) JOIN CharacterItem ci(NOLOCK)
5218 ON c.CID = @CID AND ci.CID = c.CID) JOIN Item i(NOLOCK)
5219 ON i.ItemID = ci.ItemID
5220 ORDER BY Orders
5221END
5222
5223
5224
5225
5226GO
5227/****** Object: StoredProcedure [dbo].[spAdmWebGetCharLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
5228SET ANSI_NULLS ON
5229GO
5230SET QUOTED_IDENTIFIER ON
5231GO
5232
5233CREATE PROC [dbo].[spAdmWebGetCharLogByCharName]
5234 @CharName varchar(24)
5235AS
5236 SET NOCOUNT ON
5237
5238 SELECT a.UserID, cml.CharName, cml.Type, cml.Date
5239 FROM CharacterMakingLog cml(NOLOCK) JOIN Account a(NOLOCK)
5240 ON cml.CharName = @CharName AND a.AID = cml.AID
5241
5242
5243
5244
5245GO
5246/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItem] Script Date: 28-05-2018 18:12:28 ******/
5247SET ANSI_NULLS ON
5248GO
5249SET QUOTED_IDENTIFIER ON
5250GO
5251
5252CREATE PROC [dbo].[spAdmWebGetCharQuestItem]
5253 @CharName varchar( 24 )
5254AS
5255BEGIN
5256 SET NOCOUNT ON
5257
5258 SELECT QuestItemInfo
5259 FROM Character( NOLOCK )
5260 WHERE Name = @CharName
5261END
5262
5263
5264
5265
5266GO
5267/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
5268SET ANSI_NULLS ON
5269GO
5270SET QUOTED_IDENTIFIER ON
5271GO
5272
5273CREATE PROC [dbo].[spAdmWebGetCharQuestItemInfoByCID]
5274 @CID int
5275AS
5276 SET NOCOUNT ON
5277
5278 SELECT QuestItemInfo FROM Character(NOLOCK) WHERE CID = @CID
5279
5280
5281
5282
5283GO
5284/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5285SET ANSI_NULLS ON
5286GO
5287SET QUOTED_IDENTIFIER ON
5288GO
5289
5290CREATE PROC [dbo].[spAdmWebGetClanInfoByCharName]
5291 @CharName varchar(24)
5292AS
5293 SET NOCOUNT ON
5294
5295 DECLARE @CLID int
5296
5297 SELECT @CLID = cm.CLID
5298 FROM Character c(NOLOCK) JOIN ClanMember cm(NOLOCK)
5299 ON c.Name = @CharName AND cm.CID = c.CID
5300 IF @CLID IS NULL RETURN
5301
5302 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction, cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5303 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5304 ON cl.CLID = @CLID AND cl.MasterCID = c.CID
5305
5306
5307
5308
5309GO
5310/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByClanName] Script Date: 28-05-2018 18:12:28 ******/
5311SET ANSI_NULLS ON
5312GO
5313SET QUOTED_IDENTIFIER ON
5314GO
5315
5316CREATE PROC [dbo].[spAdmWebGetClanInfoByClanName]
5317 @ClanName varchar(24)
5318AS
5319 SET NOCOUNT ON
5320
5321 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction,
5322 cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5323 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5324 ON cl.Name = @ClanName AND cl.MasterCID = c.CID
5325
5326
5327
5328
5329GO
5330/****** Object: StoredProcedure [dbo].[spAdmWebGetClanMemberInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5331SET ANSI_NULLS ON
5332GO
5333SET QUOTED_IDENTIFIER ON
5334GO
5335
5336CREATE PROC [dbo].[spAdmWebGetClanMemberInfoByCLID]
5337 @CLID int
5338AS
5339 SET NOCOUNT ON
5340
5341 SELECT cm.CLID, cm.Grade, a.AID, a.UserID, c.Name, cm.CID, c.Level, cm.ContPoint, cm.RegDate
5342 FROM (ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
5343 ON cm.CLID = @CLID AND c.CID = cm.CID) JOIN Account a( NOLOCK)
5344 ON a.AID = c.AID
5345 WHERE c.DeleteFlag <> 1
5346Order by cm.Grade, cm.RegDate
5347
5348
5349
5350
5351
5352
5353GO
5354/****** Object: StoredProcedure [dbo].[spAdmWebGetClanRankInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5355SET ANSI_NULLS ON
5356GO
5357SET QUOTED_IDENTIFIER ON
5358GO
5359
5360CREATE PROC [dbo].[spAdmWebGetClanRankInfoByCLID]
5361 @CLID int
5362AS
5363 SELECT Exp, Point, TotalPoint, Wins, Losses, Ranking, LastDayRanking, LastMonthRanking, RankIncrease
5364 FROM Clan(NOLOCK)
5365 WHERE CLID = @CLID
5366
5367
5368
5369
5370GO
5371/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
5372SET ANSI_NULLS ON
5373GO
5374SET QUOTED_IDENTIFIER ON
5375GO
5376
5377CREATE PROC [dbo].[spAdmWebGetCustomIP]
5378 @RegDateFrom smalldatetime
5379, @RegDateTo smalldatetime
5380AS
5381 SET NOCOUNT ON
5382 DECLARE @TmpIP bigint
5383
5384 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5385
5386 SELECT GunzDB.game.inet_ntoa(IPFrom) AS IPFrom, GunzDB.game.inet_ntoa(IPTo) AS IPTo,
5387 CountryCode3, Comment, IsBlock, RegDate
5388 FROM CustomIP(NOLOCK)
5389 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo
5390
5391
5392
5393
5394
5395GO
5396/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIPByIP] Script Date: 28-05-2018 18:12:28 ******/
5397SET ANSI_NULLS ON
5398GO
5399SET QUOTED_IDENTIFIER ON
5400GO
5401
5402CREATE PROC [dbo].[spAdmWebGetCustomIPByIP]
5403 @IP varchar(15)
5404, @RegDateFrom smalldatetime
5405, @RegDateTo smalldatetime
5406AS
5407 SET NOCOUNT ON
5408 DECLARE @TmpIP bigint
5409
5410 SET @TmpIP = GunzDB.game.inet_aton( @IP )
5411 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5412
5413 SELECT GunzDB.game.inet_ntoa(IPFrom) AS IPFrom, GunzDB.game.inet_ntoa(IPTo) AS IPTo,
5414 CountryCode3, Comment, IsBlock, RegDate
5415 FROM CustomIP(NOLOCK)
5416 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo AND
5417 IPFrom <= @TmpIP AND IPTo >= @TmpIP
5418
5419
5420
5421
5422
5423GO
5424/****** Object: StoredProcedure [dbo].[spAdmWebGetItemList] Script Date: 28-05-2018 18:12:28 ******/
5425SET ANSI_NULLS ON
5426GO
5427SET QUOTED_IDENTIFIER ON
5428GO
5429
5430CREATE PROC [dbo].[spAdmWebGetItemList]
5431AS
5432 SET NOCOUNT ON
5433 SELECT ItemID, Name, Slot, IsCashItem
5434 FROM Item(NOLOCK)
5435 ORDER BY ItemID
5436
5437
5438
5439
5440GO
5441/****** Object: StoredProcedure [dbo].[spAdmWebGetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
5442SET ANSI_NULLS ON
5443GO
5444SET QUOTED_IDENTIFIER ON
5445GO
5446
5447CREATE PROC [dbo].[spAdmWebGetItemPurchaseLogByCash]
5448 @AID int
5449AS
5450 SET NOCOUNT ON
5451 SELECT ipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID,
5452 i.Name AS ItemName, ipl.Date, ipl.Cash
5453 , CASE ISNULL(ipl.RentHourPeriod, 0)
5454 WHEN 0 THEN '0'
5455 ELSE CAST(ipl.RentHourPeriod AS varchar(10))
5456 END AS 'RentHourPeriod'
5457 FROM (Account a(NOLOCK) JOIN ItemPurchaseLogByCash ipl(NOLOCK)
5458 ON a.AID = @AID AND ipl.AID = a.AID) JOIN Item i(NOLOCK)
5459 ON i.ItemID = ipl.ItemID
5460 ORDER BY ipl.Date DESC
5461
5462
5463
5464
5465GO
5466/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
5467SET ANSI_NULLS ON
5468GO
5469SET QUOTED_IDENTIFIER ON
5470GO
5471
5472CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByAID]
5473 @AID int
5474AS
5475 SET NOCOUNT ON
5476
5477 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5478 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5479 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5480 ON a.AID = @AID AND c.AID = a.AID
5481 WHERE c.DeleteFlag <> 1
5482
5483
5484
5485
5486GO
5487/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5488SET ANSI_NULLS ON
5489GO
5490SET QUOTED_IDENTIFIER ON
5491GO
5492
5493CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByCharName]
5494 @CharName varchar( 24 )
5495AS
5496 SET NOCOUNT ON
5497
5498 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
5499 CharNum, Level, XP, BP, KillCount, DeathCount
5500 FROM Character(NOLOCK)
5501 WHERE Name = @CharName AND DeleteFlag <> 1
5502 ORDER BY CharNum
5503
5504
5505
5506
5507GO
5508/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
5509SET ANSI_NULLS ON
5510GO
5511SET QUOTED_IDENTIFIER ON
5512GO
5513
5514CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByOneCharName]
5515 @CharName varchar(24)
5516AS
5517 SET NOCOUNT ON
5518
5519 SELECT c2.Name, c2.CID
5520 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
5521 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
5522 ON c2.AID = a.AID
5523 WHERE c2.DeleteFlag <> 1
5524 ORDER BY c2.CharNum
5525
5526
5527
5528
5529GO
5530/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharListByUserID] Script Date: 28-05-2018 18:12:28 ******/
5531SET ANSI_NULLS ON
5532GO
5533SET QUOTED_IDENTIFIER ON
5534GO
5535
5536CREATE PROC [dbo].[spAdmWebGetLiveCharListByUserID]
5537 @UserID varchar( 20 )
5538AS
5539 SET NOCOUNT ON
5540
5541 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5542 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5543 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5544 ON a.UserID = @UserID AND c.AID = a.AID
5545 WHERE c.DeleteFlag <> 1
5546 ORDER BY c.CharNum
5547
5548
5549
5550
5551GO
5552/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
5553SET ANSI_NULLS ON
5554GO
5555SET QUOTED_IDENTIFIER ON
5556GO
5557
5558CREATE PROC [dbo].[spAdmWebGetLiveCharNameCIDByUserID]
5559 @UserID varchar(20)
5560AS
5561 SET NOCOUNT ON
5562
5563 SELECT c.Name, c.CID, c.DeleteFlag
5564 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5565 ON a.UserID = @UserID AND c.AID = a.AID
5566 WHERE c.DeleteFlag <> 1
5567 ORDER BY c.DeleteFlag, c.CharNum
5568
5569
5570
5571
5572GO
5573/****** Object: StoredProcedure [dbo].[spAdmWebGetQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
5574SET ANSI_NULLS ON
5575GO
5576SET QUOTED_IDENTIFIER ON
5577GO
5578
5579CREATE PROC [dbo].[spAdmWebGetQuestItemInfo]
5580 @CID int
5581AS
5582 SET NOCOUNT ON
5583 SELECT CID, Name, QuestItemInfo
5584 FROM Character(NOLOCK)
5585 WHERE CID = @CID
5586
5587
5588
5589
5590GO
5591/****** Object: StoredProcedure [dbo].[spAdmWebGetRentPeriodDayList] Script Date: 28-05-2018 18:12:28 ******/
5592SET ANSI_NULLS ON
5593GO
5594SET QUOTED_IDENTIFIER ON
5595GO
5596
5597
5598CREATE PROC [dbo].[spAdmWebGetRentPeriodDayList]
5599AS
5600 SET NOCOUNT ON
5601 SELECT Day FROM RentPeriodDay(NOLOCK) ORDER BY Day
5602
5603
5604
5605
5606GO
5607/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLog10Min] Script Date: 28-05-2018 18:12:28 ******/
5608SET ANSI_NULLS ON
5609GO
5610SET QUOTED_IDENTIFIER ON
5611GO
5612
5613
5614
5615
5616------------------------------------------------------------------------------------------------------------------------
5617
5618CREATE PROC [dbo].[spAdmWebGetServerLog10Min]
5619 @ServerID tinyint
5620, @StartTime smalldatetime
5621, @EndTime smalldatetime
5622AS
5623 SET NOCOUNT ON
5624
5625 IF @StartTime > @EndTime RETURN
5626
5627 SELECT a.ServerID, ss.ServerName,
5628 CONVERT(smalldatetime,DATEADD(mi,a.time*10 ,@StartTime)) as starttime,
5629 CONVERT(smalldatetime,DATEADD(mi,(a.time*10+10)-1 ,@StartTime)) as endtime,
5630 SUM(playercount)/10/(DATEDIFF(DAY,@StartTime, @EndTime)+ 1) as PlayerCount
5631 FROM(
5632 SELECT ServerID, ISNULL(playercount,0) as PlayerCount, DATEPART(mi,DATEADD(mi, -1, time)) /10 as time
5633 FROM LogDB.game.ServerLogStorage(NOLOCK)
5634 WHERE Time BETWEEN @StartTime AND @EndTime
5635 AND datediff(hh,@StartTime, DATEADD(mi, -1, time) ) % 24 = 0
5636 ) as a, ServerStatus ss(NOLOCK)
5637 WHERE a.ServerID = @ServerID AND ss.ServerID = a.ServerID
5638 Group By a.ServerID, ss.ServerName, a.Time
5639 Order By a.Time
5640
5641
5642
5643
5644
5645
5646GO
5647/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogDayHour] Script Date: 28-05-2018 18:12:28 ******/
5648SET ANSI_NULLS ON
5649GO
5650SET QUOTED_IDENTIFIER ON
5651GO
5652
5653
5654CREATE PROC [dbo].[spAdmWebGetServerLogDayHour]
5655 @ServerType tinyint -- 0:ì „ì²´, 1:ì¼ë°˜, 2:í´ëžœ, 3:퀘스트, 4:ì´ë²¤íЏ
5656, @StartDate smalldatetime
5657, @EndDate smalldatetime
5658AS
5659 SET NOCOUNT ON
5660
5661 IF @StartDate > @EndDate RETURN
5662
5663 DECLARE @StartServerID int
5664 DECLARE @EndServerID int
5665
5666 IF 0 = @ServerType -- all
5667 SELECT @StartServerID = 1, @EndServerID = 255
5668 ELSE IF 1 = @ServerType -- normal
5669 SELECT @StartServerID = 1, @EndServerID = 49
5670 ELSE IF 2 = @ServerType -- clan
5671 SELECT @StartServerID = 50, @EndServerID = 99
5672 ELSE IF 3 = @ServerType -- quest
5673 SELECT @STartServerID = 100, @EndServerID = 149
5674 ELSE IF 4 = @ServerType -- event
5675 RETURN
5676 ELSE -- error
5677 RETURN
5678
5679 SELECT ss.ServerID, ss.ServerName,
5680 SUM(CASE DATEPART(hh, t.Time) WHEN 0 THEN t.PlayerCount ELSE 0 END) AS H0
5681 , SUM(CASE DATEPART(hh, t.Time) WHEN 1 THEN t.PlayerCount ELSE 0 END) AS H1
5682 , SUM(CASE DATEPART(hh, t.Time) WHEN 2 THEN t.PlayerCount ELSE 0 END) AS H2
5683 , SUM(CASE DATEPART(hh, t.Time) WHEN 3 THEN t.PlayerCount ELSE 0 END) AS H3
5684 , SUM(CASE DATEPART(hh, t.Time) WHEN 4 THEN t.PlayerCount ELSE 0 END) AS H4
5685 , SUM(CASE DATEPART(hh, t.Time) WHEN 5 THEN t.PlayerCount ELSE 0 END) AS H5
5686 , SUM(CASE DATEPART(hh, t.Time) WHEN 6 THEN t.PlayerCount ELSE 0 END) AS H6
5687 , SUM(CASE DATEPART(hh, t.Time) WHEN 7 THEN t.PlayerCount ELSE 0 END) AS H7
5688 , SUM(CASE DATEPART(hh, t.Time) WHEN 8 THEN t.PlayerCount ELSE 0 END) AS H8
5689 , SUM(CASE DATEPART(hh, t.Time) WHEN 9 THEN t.PlayerCount ELSE 0 END) AS H9
5690 , SUM(CASE DATEPART(hh, t.Time) WHEN 10 THEN t.PlayerCount ELSE 0 END) AS H10
5691 , SUM(CASE DATEPART(hh, t.Time) WHEN 11 THEN t.PlayerCount ELSE 0 END) AS H11
5692 , SUM(CASE DATEPART(hh, t.Time) WHEN 12 THEN t.PlayerCount ELSE 0 END) AS H12
5693 , SUM(CASE DATEPART(hh, t.Time) WHEN 13 THEN t.PlayerCount ELSE 0 END) AS H13
5694 , SUM(CASE DATEPART(hh, t.Time) WHEN 14 THEN t.PlayerCount ELSE 0 END) AS H14
5695 , SUM(CASE DATEPART(hh, t.Time) WHEN 15 THEN t.PlayerCount ELSE 0 END) AS H15
5696 , SUM(CASE DATEPART(hh, t.Time) WHEN 16 THEN t.PlayerCount ELSE 0 END) AS H16
5697 , SUM(CASE DATEPART(hh, t.Time) WHEN 17 THEN t.PlayerCount ELSE 0 END) AS H17
5698 , SUM(CASE DATEPART(hh, t.Time) WHEN 18 THEN t.PlayerCount ELSE 0 END) AS H18
5699 , SUM(CASE DATEPART(hh, t.Time) WHEN 19 THEN t.PlayerCount ELSE 0 END) AS H19
5700 , SUM(CASE DATEPART(hh, t.Time) WHEN 20 THEN t.PlayerCount ELSE 0 END) AS H20
5701 , SUM(CASE DATEPART(hh, t.Time) WHEN 21 THEN t.PlayerCount ELSE 0 END) AS H21
5702 , SUM(CASE DATEPART(hh, t.Time) WHEN 22 THEN t.PlayerCount ELSE 0 END) AS H22
5703 , SUM(CASE DATEPART(hh, t.Time) WHEN 23 THEN t.PlayerCount ELSE 0 END) AS H23
5704 , SUM(t.PlayerCount) / 24 AS AVG
5705 FROM (
5706 SELECT ServerID
5707 , CASE(DATEPART(mi, Time) % 10)
5708 WHEN 0 THEN DATEADD(mi, -1, Time)
5709 ELSE DATEADD(mi, (DATEPART(mi, Time) % 10) * -1, Time) END
5710 AS Time
5711 , PlayerCount
5712 FROM LogDB.game.ServerLogStorage(NOLOCK)
5713 WHERE (Time BETWEEN @StartDate AND @EndDate)
5714 AND (ServerID BETWEEN @StartServerID AND @EndServerID)
5715 ) AS t, ServerStatus ss(NOLOCK)
5716 WHERE ss.ServerID = t.ServerID
5717 GROUP BY ss.ServerID, ss.ServerName
5718 ORDER BY ss.ServerID
5719
5720
5721
5722
5723
5724GO
5725/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntDay] Script Date: 28-05-2018 18:12:28 ******/
5726SET ANSI_NULLS ON
5727GO
5728SET QUOTED_IDENTIFIER ON
5729GO
5730
5731
5732
5733
5734-------------------------------------------------------------------------------------------------------------
5735
5736CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntDay]
5737 @ServerType tinyint
5738, @StartDate smalldatetime
5739, @EndDate smalldatetime
5740AS
5741 SET NOCOUNT ON
5742
5743 IF @StartDate > @EndDate RETURN
5744
5745 DECLARE @TmpStartDate smalldatetime
5746 DECLARE @TmpEndDate smalldatetime
5747 DECLARE @RangeStartDate smalldatetime
5748 DECLARE @RangeEndDate smalldatetime
5749 DECLARE @DayDiff int
5750 DECLARE @StartServerID tinyint
5751 DECLARE @EndServerID tinyint
5752 DECLARE @LiveServerCount tinyint
5753 DECLARE @Date smalldatetime
5754 DECLARE @Query varchar(8000)
5755
5756 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5757 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5758
5759 IF @StartDate < @TmpStartDate
5760 SET @StartDate = @TmpStartDate
5761 IF @EndDate > @TmpEndDate
5762 SET @EndDate = @TmpEndDate
5763
5764 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5765 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5766 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5767
5768 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5769 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5770 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5771 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5772 ELSE IF 4 = @ServerType RETURN-- event
5773 ELSE RETURN
5774
5775 SELECT @LiveServerCount = COUNT(ServerID)
5776 FROM ServerStatus(NOLOCK)
5777 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5778
5779 SET @Query = 'SELECT t.ServerID, t.ServerName, '
5780
5781 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5782 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5783 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5784
5785 WHILE @Date <= @RangeEndDate BEGIN
5786 SET @Query = @Query + 'MAX(CASE t.Day WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5787 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day'
5788 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5789
5790 SET @Date = DATEADD(dd, 1, @Date)
5791 IF @Date > @RangeEndDate BREAK
5792 SET @Query = @Query + ', '
5793 END
5794
5795 SET @Query = @Query + ', SUM(MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5796 FROM
5797 (
5798 SELECT sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time)) AS Day, MAX(PlayerCount) AS MaxPlayerCount
5799 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5800 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
5801 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
5802 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
5803 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + '''' + '
5804 AND ss.ServerID = sls.ServerID
5805 GROUP BY sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time))
5806 ) as t
5807 GROUP BY t.ServerID, t.ServerName
5808 ORDER BY t.ServerID'
5809
5810 EXEC (@Query)
5811
5812
5813
5814
5815
5816
5817GO
5818/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntHour] Script Date: 28-05-2018 18:12:28 ******/
5819SET ANSI_NULLS ON
5820GO
5821SET QUOTED_IDENTIFIER ON
5822GO
5823
5824
5825
5826----------------------------------------------------------------------------------------------------------------------------
5827
5828CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntHour]
5829 @ServerType tinyint
5830, @StartDate smalldatetime
5831, @EndDate smalldatetime
5832AS
5833 SET NOCOUNT ON
5834
5835 IF @StartDate > @EndDate RETURN
5836
5837 DECLARE @StartServerID tinyint
5838 DECLARE @EndServerID tinyint
5839
5840 IF 0 = @ServerType -- all
5841 SELECT @StartServerID = 1, @EndServerID = 255
5842 ELSE IF 1 = @ServerType -- normal
5843 SELECT @StartServerID = 1, @EndServerID = 49
5844 ELSE IF 2 = @ServerType -- clan
5845 SELECT @StartServerID = 50, @EndServerID = 99
5846 ELSE IF 3 = @ServerType -- quest
5847 SELECT @STartServerID = 100, @EndServerID = 149
5848 ELSE IF 4 = @ServerType -- event
5849 RETURN
5850 ELSE
5851 RETURN
5852
5853SELECT t.ServerID, t.ServerName
5854 , MAX(CASE t.Time WHEN 0 THEN t.MaxPlayerCount ELSE 0 END) AS H0
5855 , MAX(CASE t.Time WHEN 1 THEN t.MaxPlayerCount ELSE 0 END) AS H1
5856 , MAX(CASE t.Time WHEN 2 THEN t.MaxPlayerCount ELSE 0 END) AS H2
5857 , MAX(CASE t.Time WHEN 3 THEN t.MaxPlayerCount ELSE 0 END) AS H3
5858 , MAX(CASE t.Time WHEN 4 THEN t.MaxPlayerCount ELSE 0 END) AS H4
5859 , MAX(CASE t.Time WHEN 5 THEN t.MaxPlayerCount ELSE 0 END) AS H5
5860 , MAX(CASE t.Time WHEN 6 THEN t.MaxPlayerCount ELSE 0 END) AS H6
5861 , MAX(CASE t.Time WHEN 7 THEN t.MaxPlayerCount ELSE 0 END) AS H7
5862 , MAX(CASE t.Time WHEN 8 THEN t.MaxPlayerCount ELSE 0 END) AS H8
5863 , MAX(CASE t.Time WHEN 9 THEN t.MaxPlayerCount ELSE 0 END) AS H9
5864 , MAX(CASE t.Time WHEN 10 THEN t.MaxPlayerCount ELSE 0 END) AS H10
5865 , MAX(CASE t.Time WHEN 11 THEN t.MaxPlayerCount ELSE 0 END) AS H11
5866 , MAX(CASE t.Time WHEN 12 THEN t.MaxPlayerCount ELSE 0 END) AS H12
5867 , MAX(CASE t.Time WHEN 13 THEN t.MaxPlayerCount ELSE 0 END) AS H13
5868 , MAX(CASE t.Time WHEN 14 THEN t.MaxPlayerCount ELSE 0 END) AS H14
5869 , MAX(CASE t.Time WHEN 15 THEN t.MaxPlayerCount ELSE 0 END) AS H15
5870 , MAX(CASE t.Time WHEN 16 THEN t.MaxPlayerCount ELSE 0 END) AS H16
5871 , MAX(CASE t.Time WHEN 17 THEN t.MaxPlayerCount ELSE 0 END) AS H17
5872 , MAX(CASE t.Time WHEN 18 THEN t.MaxPlayerCount ELSE 0 END) AS H18
5873 , MAX(CASE t.Time WHEN 19 THEN t.MaxPlayerCount ELSE 0 END) AS H19
5874 , MAX(CASE t.Time WHEN 20 THEN t.MaxPlayerCount ELSE 0 END) AS H20
5875 , MAX(CASE t.Time WHEN 21 THEN t.MaxPlayerCount ELSE 0 END) AS H21
5876 , MAX(CASE t.Time WHEN 22 THEN t.MaxPlayerCount ELSE 0 END) AS H22
5877 , MAX(CASE t.Time WHEN 23 THEN t.MaxPlayerCount ELSE 0 END) AS H23
5878 , SUM(t.MaxPlayerCount) / 24 AS 'AVG'
5879 FROM (
5880 SELECT sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time)) AS Time, MAX(PlayerCount) as MaxPlayerCount
5881 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5882 WHERE (sls.Time BETWEEN @StartDate AND @EndDate)
5883 AND (sls.ServerID BETWEEN @StartServerID AND @EndServerID)
5884 AND ss.ServerID = sls.ServerID
5885 GROUP BY sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time))
5886 ) AS t
5887 GROUP BY t.ServerID, t.ServerName
5888 ORDER BY t.ServerID
5889
5890
5891
5892
5893
5894GO
5895/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxTimeDay] Script Date: 28-05-2018 18:12:28 ******/
5896SET ANSI_NULLS ON
5897GO
5898SET QUOTED_IDENTIFIER ON
5899GO
5900
5901
5902-------------------------------------------------------------------------------------------------------------
5903
5904CREATE PROC [dbo].[spAdmWebGetServerLogMaxTimeDay]
5905 @ServerType tinyint
5906, @StartDate smalldatetime
5907, @EndDate smalldatetime
5908AS
5909 SET NOCOUNT ON
5910
5911 IF @StartDate > @EndDate RETURN
5912
5913 DECLARE @TmpStartDate smalldatetime
5914 DECLARE @TmpEndDate smalldatetime
5915 DECLARE @RangeStartDate smalldatetime
5916 DECLARE @RangeEndDate smalldatetime
5917 DECLARE @DayDiff int
5918 DECLARE @StartServerID tinyint
5919 DECLARE @EndServerID tinyint
5920 DECLARE @LiveServerCount tinyint
5921 DECLARE @Date smalldatetime
5922 DECLARE @Query varchar(8000)
5923
5924 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5925 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5926
5927 IF @StartDate < @TmpStartDate
5928 SET @StartDate = @TmpStartDate
5929 IF @EndDate > @TmpEndDate
5930 SET @EndDate = @TmpEndDate
5931
5932 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5933 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5934 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5935
5936 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5937 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5938 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5939 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5940 ELSE IF 4 = @ServerType RETURN-- event
5941 ELSE RETURN
5942
5943SELECT @LiveServerCount = COUNT(ServerID)
5944 FROM ServerStatus(NOLOCK)
5945 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5946
5947 SET @Query = 'SELECT
5948 t.TimeGroup AS TimeGroup, '
5949
5950 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5951 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5952 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5953
5954 WHILE @Date <= @RangeEndDate BEGIN
5955 SET @Query = @Query + 'MAX(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5956 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
5957 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5958
5959 SET @Date = DATEADD(dd, 1, @Date)
5960 IF @Date > @RangeEndDate BREAK
5961 SET @Query = @Query + ', '
5962 END
5963
5964 SET @Query = @Query + ', SUM(t.MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5965 FROM
5966 (
5967SELECT tt.Date, tt.TimeGroup, SUM(tt.MaxPlayerCount) as MaxPlayerCount
5968 FROM
5969 (
5970 SELECT ServerID, DATEPART(dd, DATEADD(mi, -1, Time)) as Date
5971 ,DATEPART(hh, DATEADD(mi, -1, Time)) AS TimeGroup,
5972 MAX(PlayerCount) AS MaxPlayerCount
5973 FROM LogDB.game.ServerLogStorage(NOLOCK)
5974 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
5975 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
5976 varchar(8)) + '
5977 GROUP BY ServerID, DATEPART(dd, DATEADD(mi, -1,Time))
5978 , DATEPART(hh, DATEADD(mi, -1, Time))
5979 ) AS tt
5980GROUP BY tt.Date, tt.TimeGroup
5981) AS t
5982 GROUP BY t.TimeGroup
5983 ORDER BY CAST(t.TimeGroup AS float)'
5984
5985 EXEC(@Query)
5986
5987
5988
5989
5990
5991GO
5992/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogServerIDDay] Script Date: 28-05-2018 18:12:28 ******/
5993SET ANSI_NULLS ON
5994GO
5995SET QUOTED_IDENTIFIER ON
5996GO
5997
5998
5999
6000
6001----------------------------------------------------------------------------------------------------------------------
6002
6003CREATE PROC [dbo].[spAdmWebGetServerLogServerIDDay]
6004 @ServerType tinyint
6005, @StartDate smalldatetime
6006, @EndDate smalldatetime
6007AS
6008 SET NOCOUNT ON
6009
6010 IF @StartDate > @EndDate RETURN
6011
6012 DECLARE @TmpStartDate smalldatetime
6013 DECLARE @TmpEndDate smalldatetime
6014 DECLARE @RangeStartDate smalldatetime
6015 DECLARE @RangeEndDate smalldatetime
6016 DECLARE @DayDiff int
6017 DECLARE @StartServerID tinyint
6018 DECLARE @EndServerID tinyint
6019 DECLARE @LiveServerCount tinyint
6020 DECLARE @Date smalldatetime
6021 DECLARE @Query varchar(8000)
6022
6023 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6024 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6025
6026 IF @StartDate < @TmpStartDate
6027 SET @StartDate = @TmpStartDate
6028 IF @EndDate > @TmpEndDate
6029 SET @EndDate = @TmpEndDate
6030
6031 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6032 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6033 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6034
6035 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6036 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6037 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6038 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6039 ELSE IF 4 = @ServerType RETURN-- event
6040 ELSE RETURN
6041
6042 SELECT @LiveServerCount = COUNT(ServerID)
6043 FROM ServerStatus(NOLOCK)
6044 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6045
6046 SET @Query = 'SELECT sls.ServerID, ss.ServerName, '
6047
6048 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6049 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6050 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6051
6052 WHILE @Date <= @RangeEndDate BEGIN
6053 SET @Query = @Query + '(SUM(CASE DATEPART(dd, DATEADD(mi, -1, sls.Time)) WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6054 + ' THEN sls.PlayerCount ELSE 0 END) / 1440) AS ' + '''' + 'Day'
6055 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6056
6057 SET @Date = DATEADD(dd, 1, @Date)
6058 IF @Date > @RangeEndDate BREAK
6059 SET @Query = @Query + ', '
6060 END
6061
6062 SET @Query = @Query + ', SUM(sls.PlayerCount) / ' + CAST((@DayDiff * 1440) AS varchar(8)) + ' AS AVG
6063 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
6064 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
6065 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
6066 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
6067 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + ''''
6068 + ' AND ss.ServerID = sls.ServerID
6069 GROUP BY sls.ServerID, ss.ServerName
6070 ORDER BY sls.ServerID'
6071
6072 EXEC (@Query)
6073
6074
6075
6076
6077
6078
6079GO
6080/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogTimeDay] Script Date: 28-05-2018 18:12:28 ******/
6081SET ANSI_NULLS ON
6082GO
6083SET QUOTED_IDENTIFIER ON
6084GO
6085
6086CREATE PROC [dbo].[spAdmWebGetServerLogTimeDay]
6087 @ServerType tinyint
6088, @StartDate smalldatetime
6089, @EndDate smalldatetime
6090AS
6091 SET NOCOUNT ON
6092
6093 IF @StartDate > @EndDate RETURN
6094
6095 DECLARE @TmpStartDate smalldatetime
6096 DECLARE @TmpEndDate smalldatetime
6097 DECLARE @RangeStartDate smalldatetime
6098 DECLARE @RangeEndDate smalldatetime
6099 DECLARE @DayDiff int
6100 DECLARE @StartServerID tinyint
6101 DECLARE @EndServerID tinyint
6102 DECLARE @LiveServerCount tinyint
6103 DECLARE @Date smalldatetime
6104 DECLARE @Query varchar(8000)
6105
6106 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6107 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6108
6109 IF @StartDate < @TmpStartDate
6110 SET @StartDate = @TmpStartDate
6111 IF @EndDate > @TmpEndDate
6112 SET @EndDate = @TmpEndDate
6113
6114 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6115 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6116 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6117
6118 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6119 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6120 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6121 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6122 ELSE IF 4 = @ServerType RETURN-- event
6123 ELSE RETURN
6124
6125
6126 SELECT @LiveServerCount = COUNT(ServerID)
6127 FROM ServerStatus(NOLOCK)
6128 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6129
6130 SET @Query = 'SELECT t.TimeGroup, '
6131
6132 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6133 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6134 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6135
6136 WHILE @Date <= @RangeEndDate BEGIN
6137 SET @Query = @Query + 'SUM(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6138 + ' THEN t.PlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
6139 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6140
6141 SET @Date = DATEADD(dd, 1, @Date)
6142 IF @Date > @RangeEndDate BREAK
6143 SET @Query = @Query + ', '
6144 END
6145
6146 SET @Query = @Query + ', SUM(t.PlayerCount) / ' + CAST((@DayDiff ) AS varchar(8)) + ' AS AVG FROM
6147 (
6148 SELECT tt.Date, tt.TimeGroup as TimeGroup,SUM(tt.PlayerCount ) as PlayerCount
6149 FROM
6150 (
6151 SELECT SUM(PlayerCount ) /60 as PlayerCount, ServerID
6152 ,DATEPART(dd, Time) as Date
6153 ,DATEPART(hh, DATEADD(mi, -1, Time)) as TimeGroup
6154 FROM LogDB.game.ServerLogStorage(NOLOCK)
6155 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
6156 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
6157 varchar(8)) + '
6158 GROUP BY DATEPART(dd, Time), DATEPART(hh, DATEADD(mi, -1, Time)), ServerID
6159
6160 ) as tt
6161 GROUP BY tt.Date, tt.TimeGroup
6162 ) AS t
6163 GROUP BY t.TimeGroup
6164 ORDER BY t.TimeGroup'
6165
6166 EXEC (@Query)
6167
6168
6169
6170
6171GO
6172/****** Object: StoredProcedure [dbo].[spAdmWebGetSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
6173SET ANSI_NULLS ON
6174GO
6175SET QUOTED_IDENTIFIER ON
6176GO
6177
6178CREATE PROC [dbo].[spAdmWebGetSetItemPurchaseLogByCash]
6179 @AID int
6180AS
6181 SET NOCOUNT ON
6182 SELECT sipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID
6183 , css.Name AS ItemName, sipl.Date, sipl.Cash
6184 , CASE ISNULL(sipl.RentHourPeriod, 0)
6185 WHEN 0 THEN '0'
6186 ELSE CAST(sipl.RentHourPeriod AS varchar(10))
6187 END AS 'RentHourPeriod'
6188 FROM (Account a(NOLOCK) JOIN SetItemPurchaseLogByCash sipl(NOLOCK)
6189 ON a.AID = @AID AND sipl.AID = a.AID) JOIN CashSetShop css(NOLOCK)
6190 ON css.CSSID = sipl.CSSID
6191 ORDER BY Date DESC
6192
6193
6194
6195
6196GO
6197/****** Object: StoredProcedure [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
6198SET ANSI_NULLS ON
6199GO
6200SET QUOTED_IDENTIFIER ON
6201GO
6202
6203CREATE PROC [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName]
6204 @CharName varchar( 24 )
6205AS
6206 SET NOCOUNT ON
6207
6208 DECLARE @AID int
6209
6210 SELECT @AID = a.AID
6211 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
6212 ON c.Name = @CharName AND a.AID = c.AID
6213
6214 IF @AID IS NULL RETURN
6215
6216 SELECT Name, CID FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6217 ORDER BY CharNum
6218
6219
6220
6221
6222GO
6223/****** Object: StoredProcedure [dbo].[spAdmWebGetUniqueQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
6224SET ANSI_NULLS ON
6225GO
6226SET QUOTED_IDENTIFIER ON
6227GO
6228
6229CREATE PROC [dbo].[spAdmWebGetUniqueQuestItemInfo]
6230 @CID int
6231AS
6232 SET NOCOUNT ON
6233
6234 SELECT qi.Name, qgl.StartTime, qgl.EndTime
6235 FROM QuestGameLog qgl(NOLOCK), QUniqueItemLog qul(NOLOCK), QuestItem qi(NOLOCK)
6236 WHERE qgl.ID = qul.QGLID AND qul.QIID = qi.QIID AND qul.CID = @CID
6237 ORDER BY qgl.StartTime DESC
6238
6239
6240
6241
6242GO
6243/****** Object: StoredProcedure [dbo].[spAdmWebGetUV] Script Date: 28-05-2018 18:12:28 ******/
6244SET ANSI_NULLS ON
6245GO
6246SET QUOTED_IDENTIFIER ON
6247GO
6248
6249CREATE PROC [dbo].[spAdmWebGetUV]
6250 @StartDate smalldatetime
6251, @EndDate smalldatetime
6252AS
6253 SET NOCOUNT ON
6254
6255 IF @StartDate > @EndDate RETURN
6256 IF 3 < DATEDIFF(dd, @StartDate, @EndDate) RETURN
6257
6258 SELECT t.Time, COUNT(t.AID) as UCount
6259 FROM
6260 (
6261 SELECT AID, CONVERT(char(10),Time,120) as Time
6262 FROM LogDB.game.ConnLog(NOLOCK)
6263 WHERE time >= @StartDate and time <= @EndDate
6264 GROUP BY AID, CONVERT(char(10),Time,120)
6265 ) as t
6266 GROUP BY t.Time
6267 ORDER BY t.Time
6268
6269
6270
6271
6272GO
6273/****** Object: StoredProcedure [dbo].[spAdmWebInsertAccountItem] Script Date: 28-05-2018 18:12:28 ******/
6274SET ANSI_NULLS ON
6275GO
6276SET QUOTED_IDENTIFIER ON
6277GO
6278
6279CREATE PROC [dbo].[spAdmWebInsertAccountItem]
6280 @AID int
6281, @ItemID int
6282, @Period int
6283, @GMID varchar(20)
6284, @Ret int OUTPUT
6285AS
6286 SET NOCOUNT ON
6287 IF (500001 > @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6288 SET @Ret = 0
6289 RETURN @Ret
6290 END
6291
6292 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6293 SET @Ret = 0
6294 RETURN @Ret
6295 END
6296
6297 DECLARE @RentHourPeriod int
6298 DECLARE @RentDate datetime
6299
6300 IF (0 = @Period) OR (@Period IS NULL)
6301 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6302 ELSE
6303 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6304
6305 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod)
6306 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod )
6307 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6308 SET @Ret = 0
6309 RETURN @Ret
6310 END
6311
6312 SET @Ret = 1
6313 RETURN @Ret
6314
6315
6316
6317
6318GO
6319/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6320SET ANSI_NULLS ON
6321GO
6322SET QUOTED_IDENTIFIER ON
6323GO
6324
6325CREATE PROC [dbo].[spAdmWebInsertCashSetShopItem]
6326 @Name varchar(64)
6327, @ResSex tinyint
6328, @ResLevel int
6329, @Weight int
6330, @Description varchar(1024)
6331, @Opened tinyint
6332, @CashPrice int
6333, @WebImgName varchar(64)
6334, @RentType tinyint
6335, @Ret int OUTPUT
6336AS
6337 SET NOCOUNT ON
6338 IF (@Name IS NULL) OR (@ResSex IS NULL) OR (@ResLevel IS NULL)
6339 OR (@Weight IS NULL) OR (@Description IS NULL) OR (@Opened IS NULL)
6340 OR (@CashPrice IS NULL) OR (@WebImgName IS NULL) BEGIN
6341 SET @Ret = 0
6342 RETURN @Ret
6343 END
6344
6345 declare @cssid int
6346 select @cssid = max(cssid) + 1 from CashSetShop(nolock)
6347
6348 INSERT INTO CashSetShop(cssid, Name, ResSex, ResLevel, Weight, Description, Opened,
6349 CashPrice, WebImgName, RentType, RegDate)
6350 VALUES (@cssid, @Name, @ResSex, @ResLevel, @Weight, @Description, @Opened,
6351 @CashPrice, @WebImgName, @RentType, GETDATE())
6352 IF 0 <> @@ERROR BEGIN
6353 SET @Ret = 0
6354 RETURN @Ret
6355 END
6356
6357 SET @Ret = @cssid
6358 RETURN @Ret
6359
6360
6361
6362
6363
6364GO
6365/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6366SET ANSI_NULLS ON
6367GO
6368SET QUOTED_IDENTIFIER ON
6369GO
6370
6371CREATE PROC [dbo].[spAdmWebInsertCashShopItem]
6372 @ItemID int
6373, @Opened tinyint
6374, @CashPrice int
6375, @WebImgName varchar(64)
6376, @RentType tinyint
6377, @Ret int OUTPUT
6378AS
6379 SET NOCOUNT ON
6380 IF (@ItemID IS NULL) OR (500000 > @ItemID) OR (@Opened IS NULL)
6381 OR (@CashPrice IS NULL) BEGIN
6382 SET @Ret = 0
6383 RETURN @Ret
6384 END
6385
6386 declare @csid int
6387
6388 select @csid = max(csid) + 1 from CashShop(nolock)
6389
6390 INSERT INTO CashShop(csid, ItemID, Opened, CashPrice, WebImgName, RegDate, RentType )
6391 VALUES (@csid, @ItemID, @Opened, @CashPrice, @WebImgName, GETDATE(), @RentType)
6392 IF 0 <> @@ERROR BEGIN
6393 SET @Ret = 0
6394 RETURN @Ret
6395 END
6396
6397 SET @Ret = @csid
6398 RETURN @Ret
6399
6400
6401
6402
6403
6404GO
6405/****** Object: StoredProcedure [dbo].[spAdmWebInsertCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
6406SET ANSI_NULLS ON
6407GO
6408SET QUOTED_IDENTIFIER ON
6409GO
6410
6411CREATE PROC [dbo].[spAdmWebInsertCharacterItem]
6412 @CID int
6413, @ItemID int
6414, @Period smallint
6415, @GMID varchar(20)
6416, @Ret int OUTPUT
6417AS
6418 SET NOCOUNT ON
6419 IF (500000 < @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6420 SET @Ret = 0
6421 RETURN @Ret
6422 END
6423
6424 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
6425 SET @Ret = 0
6426 RETURN @Ret
6427 END
6428
6429 DECLARE @RentHourPeriod smallint
6430 DECLARE @RentDate datetime
6431
6432 IF (0 = @Period) OR (@Period IS NULL)
6433 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6434 ELSE
6435 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6436
6437 INSERT INTO CharacterItem( CID, ItemID, RegDate, RentDate, RentHourPeriod )
6438 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod )
6439 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6440 SET @Ret = 0
6441 RETURN @Ret
6442 END
6443
6444 SET @Ret = 1
6445 RETURN @Ret
6446
6447
6448
6449
6450GO
6451/****** Object: StoredProcedure [dbo].[spAdmWebInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
6452SET ANSI_NULLS ON
6453GO
6454SET QUOTED_IDENTIFIER ON
6455GO
6456
6457/*
6458 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
6459 */
6460CREATE PROC [dbo].[spAdmWebInsertCustomIP]
6461 @IPFrom varchar(15)
6462, @IPTo varchar(15)
6463, @IsBlock tinyint
6464, @CountryCode3 char(3)
6465, @Comment varchar(128)
6466, @Ret int OUTPUT
6467AS
6468 SET NOCOUNT ON
6469 DECLARE @DupRet int
6470 DECLARE @TmpIPFrom BIGINT
6471 DECLARE @TmpIPTo BIGINT
6472
6473 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
6474 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
6475 IF @TmpIPFrom > @TmpIPTo BEGIN
6476 SET @Ret = 3
6477 RETURN @Ret
6478 END
6479
6480 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
6481 IF 1 = @DupRet BEGIN
6482 SET @Ret = 2
6483 RETURN @Ret
6484 END
6485
6486 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
6487 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
6488 IF 0 <> @@ERROR SET @Ret = 0
6489 ELSE SET @Ret = 1
6490 RETURN @Ret
6491
6492
6493
6494
6495
6496GO
6497/****** Object: StoredProcedure [dbo].[spAdmWebInsertOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
6498SET ANSI_NULLS ON
6499GO
6500SET QUOTED_IDENTIFIER ON
6501GO
6502
6503CREATE PROC [dbo].[spAdmWebInsertOneCashSetItem]
6504 @CSSID int
6505, @CSID int
6506, @Ret int OUTPUT
6507AS
6508 SET NOCOUNT ON
6509 IF (@CSSID IS NULL) OR (@CSID IS NULL) BEGIN
6510 SET @Ret = 0
6511 RETURN @Ret
6512 END
6513
6514 INSERT INTO CashSetItem(CSSID, CSID) VALUES (@CSSID, @CSID)
6515 IF 0 <> @@ERROR BEGIN
6516 SET @Ret = 0
6517 RETURN @Ret
6518 END
6519
6520 SET @Ret = 1
6521 RETURN @Ret
6522
6523
6524
6525
6526GO
6527/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6528SET ANSI_NULLS ON
6529GO
6530SET QUOTED_IDENTIFIER ON
6531GO
6532
6533CREATE PROC [dbo].[spAdmWebInsertRentCashSetShopPrice]
6534 @CSSID int
6535, @RentHourPeriod int
6536, @CashPrice int
6537, @Ret int OUTPUT
6538AS
6539 SET NOCOUNT ON
6540 IF (@CSSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6541 SET @Ret = 0
6542 RETURN @Ret
6543 END
6544
6545 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6546
6547 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
6548 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
6549 IF 0 <> @@ERROR BEGIN
6550 SET @Ret = 0
6551 RETURN @Ret
6552 END
6553
6554 SET @Ret = 1
6555 RETURN @Ret
6556
6557
6558
6559
6560GO
6561/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6562SET ANSI_NULLS ON
6563GO
6564SET QUOTED_IDENTIFIER ON
6565GO
6566
6567CREATE PROC [dbo].[spAdmWebInsertRentCashShopPrice]
6568 @CSID int
6569, @RentHourPeriod int
6570, @CashPrice int
6571, @Ret int OUTPUT
6572AS
6573 SET NOCOUNT ON
6574
6575 IF (@CSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6576 SET @Ret = 0
6577 RETURN @Ret
6578 END
6579
6580 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6581
6582 INSERT INTO RentCashShopPrice(CSID, RentHourPeriod, CashPrice)
6583 VALUES (@CSID, @RentHourPeriod, @CashPrice)
6584 IF 0 <> @@ERROR BEGIN
6585 SET @Ret = 0
6586 RETURN @Ret
6587 END
6588 SET @Ret = 1
6589 RETURN @Ret
6590
6591
6592
6593
6594GO
6595/****** Object: StoredProcedure [dbo].[spAdmWebInsertSetItem] Script Date: 28-05-2018 18:12:28 ******/
6596SET ANSI_NULLS ON
6597GO
6598SET QUOTED_IDENTIFIER ON
6599GO
6600
6601CREATE PROC [dbo].[spAdmWebInsertSetItem]
6602 @UserID varchar( 20 )
6603, @CSSID int
6604, @RentHourPeriod smallint
6605, @GMID varchar(20)
6606, @Ret int OUTPUT
6607AS
6608 SET NOCOUNT ON
6609
6610 DECLARE @AID int
6611
6612 SELECT @AID = AID FROM Account WHERE UserID = @UserID
6613
6614 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
6615 IF @AID IS NULL
6616 BEGIN
6617 SET @Ret = 0
6618 RETURN @Ret
6619 END
6620 ELSE
6621 BEGIN
6622 DECLARE @RentDate datetime
6623
6624 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
6625 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
6626 BEGIN
6627 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
6628 DECLARE @RentType TINYINT
6629 DECLARE @RCSSPID INT
6630
6631 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
6632 IF @RentType = 1
6633 BEGIN
6634 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
6635 IF @RCSSPID IS NULL
6636 BEGIN
6637 SET @Ret = 0
6638 RETURN @Ret
6639 END
6640 END
6641
6642 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
6643 SET @RentDate = NULL
6644 END
6645 ELSE
6646 BEGIN
6647 SET @RentDate = GETDATE()
6648 END
6649
6650 BEGIN TRAN
6651
6652 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
6653
6654 FOR
6655 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
6656 FOR READ ONLY
6657
6658 OPEN curBuyCashSetItem
6659
6660 DECLARE @varCSID int
6661 DECLARE @ItemID int
6662
6663 FETCH FROM curBuyCashSetItem INTO @varCSID
6664
6665 WHILE @@FETCH_STATUS = 0
6666 BEGIN
6667 SELECT @ItemID = cs.ItemID
6668 FROM CashShop cs (NOLOCK)
6669 WHERE cs.CSID = @varCSID
6670
6671 IF @ItemID IS NOT NULL
6672 BEGIN
6673 -- ì•„ì´í…œ ìƒì„±.
6674 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
6675 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
6676 END
6677
6678 FETCH curBuyCashSetItem INTO @varCSID
6679 END
6680
6681 CLOSE curBuyCashSetItem
6682 DEALLOCATE curBuyCashSetItem
6683
6684 -- GM로그 기ë¡.
6685
6686 COMMIT TRAN
6687 SET @Ret = 1
6688 RETURN @Ret
6689 END
6690
6691
6692
6693
6694
6695GO
6696/****** Object: StoredProcedure [dbo].[spAdmWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
6697SET ANSI_NULLS ON
6698GO
6699SET QUOTED_IDENTIFIER ON
6700GO
6701
6702CREATE PROC [dbo].[spAdmWebItemUseLog]
6703 @UserID VARCHAR(32)
6704AS
6705BEGIN
6706 SET NOCOUNT ON
6707 DECLARE @TargetAID INT
6708 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
6709
6710 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
6711 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
6712 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
6713 ORDER BY Date DESC
6714END
6715
6716
6717
6718
6719
6720GO
6721/****** Object: StoredProcedure [dbo].[spAdmWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
6722SET ANSI_NULLS ON
6723GO
6724SET QUOTED_IDENTIFIER ON
6725GO
6726
6727CREATE PROC [dbo].[spAdmWebLeaveClanByCID]
6728 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
6729, @GMID varchar(20)
6730, @Ret int OUTPUT
6731AS
6732 IF (@CID IS NULL) OR (@GMID IS NULL) BEGIN
6733 SET @Ret = 0
6734 RETURN @Ret
6735 END
6736
6737 DECLARE @CLID int
6738 DECLARE @MasterCID int
6739
6740 -- 존재하는 ì•„ì´ë””ì¸ê°€?
6741 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
6742 FROM Clan cl(NOLOCK), ClanMember cm(NOLOCK)
6743 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
6744
6745 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
6746 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL) BEGIN
6747 SET @Ret = 0
6748 RETURN @Ret
6749 END
6750
6751 DELETE ClanMember WHERE CID = @CID
6752 IF 0 <> @@ERROR
6753 BEGIN
6754 SET @Ret = 0
6755 RETURN @Ret
6756 END
6757
6758 SET @Ret = 1
6759 RETURN @Ret
6760
6761
6762
6763
6764GO
6765/****** Object: StoredProcedure [dbo].[spAdmWebUndeleteCharacter] Script Date: 28-05-2018 18:12:28 ******/
6766SET ANSI_NULLS ON
6767GO
6768SET QUOTED_IDENTIFIER ON
6769GO
6770
6771CREATE PROC [dbo].[spAdmWebUndeleteCharacter]
6772 @AID int
6773, @CID int
6774, @GMID varchar(20)
6775, @Ret int OUTPUT
6776AS
6777 SET NOCOUNT ON
6778
6779 IF EXISTS (SELECT LiveChar.CID FROM Character DelChar(NOLOCK) JOIN Character LiveChar(NOLOCK)
6780 ON DelChar.CID = @CID AND DelChar.DeleteFlag = 1 AND LiveChar.Name = DelChar.DeleteName
6781 WHERE LiveChar.DeleteFlag <> 1) BEGIN
6782 SET @Ret = 0
6783 RETURN @Ret
6784 END
6785
6786 DECLARE @CharCount int
6787
6788 SELECT @CharCount = COUNT(CID) FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6789 IF 4 > @CharCount BEGIN
6790 DECLARE @FreeNum int
6791 DECLARE @tb table( a int )
6792
6793 INSERT @tb VALUES( 0 )
6794 INSERT @tb VALUES( 1 )
6795 INSERT @tb VALUES( 2 )
6796 INSERT @tb VALUES( 3 )
6797
6798 SELECT TOP 1 @FreeNum = t.a
6799 FROM @tb t LEFT OUTER JOIN Character c(NOLOCK)
6800 ON c.AID = @AID AND c.DeleteFlag <> 1 AND c.CharNum = t.a
6801 WHERE c.CharNum IS NULL
6802
6803 IF @FreeNum IS NULL BEGIN
6804 SET @Ret = 0
6805 RETURN @Ret
6806 END
6807
6808 BEGIN TRAN
6809 UPDATE Character
6810 SET Name = DeleteName, CharNum = @FreeNum, DeleteFlag = 0, DeleteName = ''
6811 WHERE CID = @CID AND AID = @AID AND DeleteFlag = 1
6812 IF 0 = @@ROWCOUNT BEGIN
6813 ROLLBACK TRAN
6814 SET @Ret = 0
6815 RETURN @Ret
6816 END
6817 COMMIT TRAN
6818 SET @Ret = 1
6819 RETURN @Ret
6820 END
6821
6822
6823
6824
6825GO
6826/****** Object: StoredProcedure [dbo].[spAdmWebUpdateAccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
6827SET ANSI_NULLS ON
6828GO
6829SET QUOTED_IDENTIFIER ON
6830GO
6831
6832CREATE PROC [dbo].[spAdmWebUpdateAccountPenaltyPeriod]
6833 @AID int
6834, @UGradeID int
6835, @Period int
6836, @GMID varchar(20)
6837, @Ret int OUTPUT
6838AS
6839 SET NOCOUNT ON
6840
6841 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6842 SET @Ret = 0
6843 RETURN @Ret
6844 END
6845
6846 IF (0 > @Period) OR (@Period IS NULL) OR (0 > @UGradeID) OR (@UGradeID IS NULL) BEGIN
6847 SET @Ret = 0
6848 RETURN @Ret
6849 END
6850
6851 BEGIN TRAN
6852 UPDATE Account SET UGradeID = @UGradeID WHERE AID = @AID
6853 IF 0 = @@ROWCOUNT BEGIN
6854 ROLLBACK TRAN
6855 SET @Ret = 0
6856 RETURN @Ret
6857 END
6858
6859 IF NOT EXISTS (SELECT AID FROM AccountPenaltyPeriod(NOLOCK) WHERE AID = @AID) BEGIN
6860 IF 0 < @Period BEGIN
6861 -- ì²˜ìŒ ìž¬ì œë¥¼ ë°›ì„경우.
6862 INSERT INTO AccountPenaltyPeriod( AID, DayLeft ) VALUES (@AID, @Period)
6863 IF 0 <> @@ERROR BEGIN
6864 ROLLBACK TRAN
6865 SET @Ret = 0
6866 RETURN @Ret
6867 END
6868 END
6869 END
6870 ELSE BEGIN
6871 IF 0 < @Period BEGIN
6872 -- ì´ë¯¸ 다른 ìž¬ì œë¥¼ ë°›ì„경우 기간만 ìˆ˜ì •í•¨.
6873 UPDATE AccountPenaltyPeriod SET DayLeft = @Period WHERE AID = @AID
6874 IF 0 = @@ROWCOUNT BEGIN
6875 ROLLBACK TRAN
6876 SET @Ret = 0
6877 RETURN @Ret
6878 END
6879 END
6880 ELSE BEGIN
6881 DELETE AccountPenaltyPeriod WHERE AID = @AID
6882 IF 0 <> @@ERROR BEGIN
6883 ROLLBACK TRAN
6884 SET @Ret = 0
6885 RETURN @Ret
6886 END
6887 END
6888 END
6889
6890 INSERT INTO AccountPenaltyLog( AID, UGradeID, DayLeft, RegDate, GMID )
6891 VALUES (@AID, @UGradeID, @Period, GETDATE(), @GMID )
6892 IF 0 <> @@ERROR BEGIN
6893 ROLLBACK TRAN
6894 SET @Ret = 0
6895 RETURN @Ret
6896 END
6897 COMMIT TRAN
6898
6899 SET @Ret = 1
6900 RETURN @Ret
6901
6902
6903
6904
6905GO
6906/****** Object: StoredProcedure [dbo].[spAdmWebUpdateBlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
6907SET ANSI_NULLS ON
6908GO
6909SET QUOTED_IDENTIFIER ON
6910GO
6911
6912CREATE PROC [dbo].[spAdmWebUpdateBlockCountryCode]
6913 @CountryCode3 char(3)
6914, @RoutingURL varchar(64)
6915, @IsBlock tinyint
6916, @Ret int Output
6917AS
6918 SET NOCOUNT ON
6919 UPDATE BlockCountryCode
6920 SET RoutingURL = @RoutingURL , IsBlock = @IsBlock
6921 WHERE CountryCode3 = @CountryCode3
6922 IF 0 = @@ROWCOUNT SET @Ret = 0
6923 ELSE SET @Ret = 1
6924 RETURN @Ret
6925
6926
6927
6928
6929GO
6930/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6931SET ANSI_NULLS ON
6932GO
6933SET QUOTED_IDENTIFIER ON
6934GO
6935
6936CREATE PROC [dbo].[spAdmWebUpdateCashSetShopItem]
6937 @CSSID int
6938, @Name varchar(64)
6939, @ResSex tinyint
6940, @ResLevel int
6941, @Weight int
6942, @Description varchar(1024)
6943, @Opened tinyint
6944, @CashPrice int
6945, @WebImgName varchar(64)
6946, @RentType tinyint
6947, @Ret int OUTPUT
6948 AS
6949 SET NOCOUNT ON
6950 IF (@CSSID IS NULL) OR (@ResSex IS NULL) OR (@Weight IS NULL)
6951 OR (@Opened IS NULL) OR (@Description IS NULL ) OR (@CashPrice IS NULL)
6952 OR (@WebImgName IS NULL) OR (@RentType IS NULL) OR (@Name IS NULL) BEGIN
6953 SET @Ret = 0
6954 RETURN @Ret
6955 END
6956
6957 UPDATE CashSetShop
6958 SET ResSex = @ResSex, ResLevel = @ResLevel, Weight = @Weight,
6959 Description = @Description, Opened = @Opened, CashPrice = @CashPrice,
6960 WebImgName = @WebImgName, RentType = @RentType, Name = @Name
6961 WHERE CSSID = @CSSID
6962 IF 0 = @@ROWCOUNT BEGIN
6963 SET @Ret = 0
6964 RETURN
6965 END
6966
6967 SET @Ret = 1
6968 RETURN @Ret
6969
6970
6971
6972
6973GO
6974/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6975SET ANSI_NULLS ON
6976GO
6977SET QUOTED_IDENTIFIER ON
6978GO
6979
6980CREATE PROC [dbo].[spAdmWebUpdateCashShopItem]
6981 @CSID int
6982, @Opened tinyint
6983, @CashPrice int
6984, @WebImgName varchar(64)
6985, @RentType tinyint
6986, @Ret int OUTPUT
6987AS
6988 UPDATE CashShop
6989 SET Opened = @Opened, CashPrice = @CashPrice, WebImgName = @WebImgName,
6990 RentType = @RentType
6991 WHERE CSID = @CSID
6992 IF 0 = @@ROWCOUNT BEGIN
6993 SET @Ret = 0
6994 RETURN @Ret
6995 END
6996
6997 SET @Ret = 1
6998 RETURN @Ret
6999
7000
7001
7002
7003GO
7004/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
7005SET ANSI_NULLS ON
7006GO
7007SET QUOTED_IDENTIFIER ON
7008GO
7009
7010CREATE PROC [dbo].[spAdmWebUpdateCashShopNewItem]
7011 @NewOrder int
7012, @CSID int
7013, @CSSID int
7014, @IsSetItem int
7015, @CategoryID int
7016, @Ret int OUTPUT
7017AS
7018 SET NOCOUNT ON
7019
7020 DECLARE @Category varchar(12)
7021 SELECT @Category = Description FROM CashShopNewItemCategory(NOLOCK)
7022 WHERE CategoryID = @CategoryID
7023
7024 IF 0 = @IsSetItem BEGIN
7025 UPDATE CashShopNewItem
7026 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7027 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = i.Name,
7028 ResSex = i.ResSex, ResLevel = i.ResLevel, CashPrice = cs.CashPrice,
7029 WebImgName = cs.WebImgName, RegDate = cs.RegDate
7030 FROM (Item i(NOLOCK) JOIN CashShop cs(NOLOCK)
7031 ON cs.CSID = @CSID AND i.ItemID = cs.ItemID)
7032 JOIN ItemSlotType ist(NOLOCK) ON ist.SlotType = i.Slot
7033 WHERE NewOrder = @NewOrder
7034 IF 0 = @@ROWCOUNT BEGIN
7035 SET @Ret = 0
7036 RETURN @Ret
7037 END
7038 END
7039 ELSE IF 1 = @IsSetItem BEGIN
7040 UPDATE CashShopNewItem
7041 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7042 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = css.Name,
7043 ResSex = css.ResSex, ResLevel = css.ResLevel, CashPrice = css.CashPrice,
7044 WebImgName = css.WebImgName, RegDate = css.RegDate
7045 FROM CashSetShop css(NOLOCK) JOIN ItemSlotType ist(NOLOCK)
7046 ON css.CSSID = @CSSID AND ist.SlotType = 10
7047 WHERE NewOrder = @NewOrder
7048 IF 0 = @@ROWCOUNT BEGIN
7049 SET @Ret = 0
7050 RETURN @Ret
7051 END
7052 END
7053
7054 SET @Ret = 1
7055 RETURN @Ret
7056
7057
7058
7059
7060
7061GO
7062/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
7063SET ANSI_NULLS ON
7064GO
7065SET QUOTED_IDENTIFIER ON
7066GO
7067
7068/*
7069 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
7070 */
7071CREATE PROC [dbo].[spAdmWebUpdateCustomIP]
7072 @IPFrom varchar(15)
7073, @IPTo varchar(15)
7074, @NewIPFrom varchar(15)
7075, @NewIPTo varchar(15)
7076, @IsBlock tinyint
7077, @CountryCode3 char(3)
7078, @Comment varchar(128)
7079, @Ret int OUTPUT
7080AS
7081 SET NOCOUNT ON
7082 DECLARE @DupRet bigint
7083 DECLARE @TmpIPFrom BIGINT
7084 DECLARE @TmpIPTo BIGINT
7085 DECLARE @TmpNewIPFrom bigint
7086 DECLARE @TmpNewIPTo bigint
7087
7088 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
7089 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
7090
7091 IF @TmpIPFrom > @TmpIPTo BEGIN
7092 SET @Ret = 3
7093 RETURN @Ret
7094 END
7095
7096 SET @TmpNewIPFrom = GunzDB.game.inet_aton( @NewIPFrom )
7097 SET @TmpNewIPTo = GunzDB.game.inet_aton( @NewIPTo )
7098
7099 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
7100 SET @Ret = 0
7101 RETURN @Ret
7102 END
7103
7104 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
7105 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
7106 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
7107 IF 1 = @DupRet BEGIN
7108 SET @Ret = 2
7109 RETURN @Ret
7110 END
7111 END
7112
7113 UPDATE CustomIP
7114 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
7115 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
7116 Comment = @Comment
7117 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
7118 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
7119 ELSE SET @Ret = 1
7120 RETURN @Ret
7121
7122
7123
7124
7125
7126GO
7127/****** Object: StoredProcedure [dbo].[spAdmWebUpdateQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
7128SET ANSI_NULLS ON
7129GO
7130SET QUOTED_IDENTIFIER ON
7131GO
7132
7133CREATE PROC [dbo].[spAdmWebUpdateQuestItemInfo]
7134 @CID int
7135, @QuestItemInfo binary(292)
7136AS
7137 SET NOCOUNT ON
7138 UPDATE Character
7139 SET QuestItemInfo = @QuestItemInfo
7140 WHERE CID = @CID
7141
7142
7143
7144
7145GO
7146/****** Object: StoredProcedure [dbo].[spBringAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7147SET ANSI_NULLS ON
7148GO
7149SET QUOTED_IDENTIFIER ON
7150GO
7151
7152
7153-- ì°½ê³ ì•„ì´í…œ ë‚´ ìºë¦í„°ë¡œ ê°€ì ¸ì˜¤ê¸° ----------
7154CREATE PROC [dbo].[spBringAccountItem]
7155 @AID int,
7156 @CID int,
7157 @AIID int
7158AS
7159SET NoCount On
7160
7161DECLARE @ItemID int
7162DECLARE @CAID int
7163DECLARE @OrderCIID int
7164
7165DECLARE @RentDate DATETIME
7166DECLARE @RentHourPeriod SMALLINT
7167DECLARE @Cnt SMALLINT
7168
7169SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7170FROM AccountItem WHERE AIID = @AIID
7171
7172
7173SELECT @CAID = AID FROM Character WHERE CID=@CID
7174
7175IF @ItemID IS NOT NULL AND @CAID = @AID
7176BEGIN
7177 BEGIN TRAN ----------------
7178 DELETE FROM AccountItem WHERE AIID = @AIID
7179 IF 0 <> @@ERROR BEGIN
7180 ROLLBACK TRAN
7181 RETURN
7182 END
7183
7184 INSERT INTO CharacterItem (CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
7185 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod, @Cnt)
7186 IF 0 <> @@ERROR BEGIN
7187 ROLLBACK TRAN
7188 RETURN
7189 END
7190
7191 SET @OrderCIID = @@IDENTITY
7192
7193 INSERT INTO BringAccountItemLog (ItemID, AID, CID, Date)
7194 VALUES (@ItemID, @AID, @CID, GETDATE())
7195 IF 0 <> @@ERROR BEGIN
7196 ROLLBACK TRAN
7197 RETURN
7198 END
7199
7200 COMMIT TRAN ---------------
7201
7202 SELECT @OrderCIID AS ORDERCIID, @ItemID AS ItemID, (@RentHourPeriod*60) - (DateDiff(n, @RentDate, GETDATE())) AS RentPeriodRemainder
7203END
7204
7205
7206
7207
7208
7209
7210GO
7211/****** Object: StoredProcedure [dbo].[spBringBackAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7212SET ANSI_NULLS ON
7213GO
7214SET QUOTED_IDENTIFIER ON
7215GO
7216
7217
7218-- ë‚´ ìºë¦í„° ìºì‰¬ì•„ì´í…œì„ ì°½ê³ ì— ë„£ê¸° ---------
7219CREATE PROC [dbo].[spBringBackAccountItem]
7220 @AID int,
7221 @CID int,
7222 @CIID int
7223AS
7224SET NOCOUNT ON
7225
7226DECLARE @ItemID int
7227DECLARE @RentDate DATETIME
7228DECLARE @RentHourPeriod SMALLINT
7229DECLARE @Cnt SMALLINT
7230
7231DECLARE @HeadCIID int
7232DECLARE @ChestCIID int
7233DECLARE @HandsCIID int
7234DECLARE @LegsCIID int
7235DECLARE @FeetCIID int
7236DECLARE @FingerLCIID int
7237DECLARE @FingerRCIID int
7238DECLARE @MeleeCIID int
7239DECLARE @PrimaryCIID int
7240DECLARE @SecondaryCIID int
7241DECLARE @Custom1CIID int
7242DECLARE @Custom2CIID int
7243
7244SELECT
7245@HeadCIID=head_slot, @ChestCIID=chest_slot, @HandsCIID=hands_slot,
7246@LegsCIID=legs_slot, @FeetCIID=feet_slot, @FingerLCIID=fingerl_slot, @FingerRCIID=fingerr_slot,
7247@MeleeCIID=melee_slot, @PrimaryCIID=primary_slot, @SecondaryCIID=secondary_slot,
7248@Custom1CIID=custom1_slot, @Custom2CIID=custom2_slot
7249FROM Character(nolock) WHERE cid=@CID AND aid=@AID
7250
7251SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7252FROM CharacterItem WHERE CIID=@CIID AND CID=@CID
7253
7254IF ((@ItemID IS NOT NULL) AND (@ItemID >= 400000) AND
7255 (@HeadCIID IS NULL OR @HeadCIID != @CIID) AND
7256 (@ChestCIID IS NULL OR @ChestCIID != @CIID) AND
7257 (@HandsCIID IS NULL OR @HandsCIID != @CIID) AND
7258 (@LegsCIID IS NULL OR @LegsCIID != @CIID) AND
7259 (@FeetCIID IS NULL OR @FeetCIID != @CIID) AND
7260 (@FingerLCIID IS NULL OR @FingerLCIID != @CIID) AND
7261 (@FingerRCIID IS NULL OR @FingerRCIID != @CIID) AND
7262 (@MeleeCIID IS NULL OR @MeleeCIID != @CIID) AND
7263 (@PrimaryCIID IS NULL OR @PrimaryCIID != @CIID) AND
7264 (@SecondaryCIID IS NULL OR @SecondaryCIID != @CIID) AND
7265 (@Custom1CIID IS NULL OR @Custom1CIID != @CIID) AND
7266 (@Custom2CIID IS NULL OR @Custom2CIID != @CIID))
7267BEGIN
7268 BEGIN TRAN -------------
7269 UPDATE CharacterItem SET CID=NULL WHERE CIID=@CIID AND CID=@CID
7270 IF 0 = @@ROWCOUNT BEGIN
7271 ROLLBACK TRAN
7272 RETURN
7273 END
7274
7275 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod, Cnt)
7276 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod, @Cnt)
7277 IF 0 <> @@ERROR BEGIN
7278 ROLLBACK TRAN
7279 RETURN
7280 END
7281 COMMIT TRAN -----------
7282END
7283
7284
7285
7286
7287
7288
7289GO
7290/****** Object: StoredProcedure [dbo].[spBuyBountyItem] Script Date: 28-05-2018 18:12:28 ******/
7291SET ANSI_NULLS ON
7292GO
7293SET QUOTED_IDENTIFIER ON
7294GO
7295
7296
7297CREATE PROC [dbo].[spBuyBountyItem]
7298 @CID INT,
7299 @ItemID INT,
7300 @Price INT
7301AS
7302SET NOCOUNT ON
7303BEGIN
7304 DECLARE @OrderCIID int
7305 DECLARE @Bounty INT
7306
7307 BEGIN TRAN
7308 -- 잔액검사
7309 SELECT @Bounty=BP FROM Character(NOLOCK) WHERE CID=@CID
7310 IF @Bounty IS NULL OR @Bounty < @Price
7311 BEGIN
7312 ROLLBACK TRAN
7313 RETURN 0
7314 END
7315
7316 -- Bounty ê°ì†Œ
7317 UPDATE Character SET BP=BP-@Price WHERE CID=@CID
7318 IF 0 = @@ROWCOUNT
7319 BEGIN
7320 ROLLBACK TRAN
7321 RETURN (-1)
7322 END
7323
7324 -- Item 추가
7325 INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
7326 IF 0 <> @@ERROR
7327 BEGIN
7328 ROLLBACK TRAN
7329 RETURN (-1)
7330 END
7331
7332 SELECT @OrderCIID = @@IDENTITY
7333
7334 -- Item 구매로그 추가
7335 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
7336 VALUES (@ItemID, @CID, GETDATE(), @Price, @Bounty, '구입')
7337 IF 0 <> @@ERROR BEGIN
7338 ROLLBACK TRAN
7339 RETURN (-1)
7340 END
7341
7342 SELECT @OrderCIID as ORDERCIID
7343 COMMIT TRAN
7344
7345 RETURN 1
7346END
7347
7348
7349
7350
7351
7352
7353
7354GO
7355/****** Object: StoredProcedure [dbo].[spBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7356SET ANSI_NULLS ON
7357GO
7358SET QUOTED_IDENTIFIER ON
7359GO
7360
7361--------------------------------------------------------------------------------
7362
7363-- cash shopì—서 ê±°ëž˜ëœ ì•„ì´í…œì„ accountitmeì— ì¶”ê°€.
7364CREATE PROC [dbo].[spBuyCashItem]
7365 @UserID varchar(20),
7366 @CSID int,
7367 @Cash int,
7368 @RentHourPeriod smallint = NULL,
7369 @MobileCode char(16) = NULL
7370AS
7371 SET NoCount On
7372
7373 DECLARE @AID int
7374 DECLARE @ItemID int
7375
7376 -- Account 검사
7377 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7378 IF @AID IS NULL
7379 BEGIN
7380 RETURN 0
7381 END
7382 ELSE
7383 BEGIN
7384 SELECT @ItemID = ItemID FROM CashShop cs (NOLOCK) WHERE cs.CSID = @CSID
7385
7386 IF @ItemID IS NOT NULL
7387 BEGIN
7388 DECLARE @RentDate datetime
7389
7390 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7391 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7392 BEGIN
7393 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7394 DECLARE @RentType TINYINT
7395 DECLARE @RCSPID INT
7396
7397 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
7398 IF @RentType = 1
7399 BEGIN
7400 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
7401 IF @RCSPID IS NULL
7402 BEGIN
7403 RETURN 0
7404 END
7405 END
7406
7407 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
7408 SET @RentDate = NULL
7409 END
7410 ELSE
7411 BEGIN
7412 SET @RentDate = GETDATE()
7413 END
7414
7415
7416 BEGIN TRAN tranBuyCashItem
7417
7418 -- ì•„ì´í…œ ìƒì„±.
7419 INSERT INTO accountitem(AID, ItemID, RentDate, RentHourPeriod)
7420 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7421
7422 IF @@ERROR <> 0
7423 BEGIN
7424 ROLLBACK TRAN tranBuyCashItem
7425 RETURN 0
7426 END
7427
7428 -- ì•„ì´í…œ 거래 logìƒì„±.
7429 INSERT INTO ItemPurchaseLogByCash(AID, ItemID, Date, RentHourPeriod, Cash, MobileCode)
7430 VALUES (@AID, @ItemID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7431
7432 IF @@ERROR <> 0
7433 BEGIN
7434 ROLLBACK TRAN tranBuyCashItem
7435 RETURN 0
7436 END
7437
7438 COMMIT TRAN tranBuyCashItem
7439
7440 RETURN 1
7441
7442 END
7443 ELSE
7444 BEGIN
7445 RETURN 0
7446 END
7447 END
7448
7449 RETURN 1
7450
7451
7452
7453
7454
7455
7456
7457
7458GO
7459/****** Object: StoredProcedure [dbo].[spBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7460SET ANSI_NULLS ON
7461GO
7462SET QUOTED_IDENTIFIER ON
7463GO
7464
7465CREATE PROC [dbo].[spBuyCashSetItem]
7466 @UserID varchar(20),
7467 @CSSID int,
7468 @Cash int,
7469 @RentHourPeriod smallint = NULL,
7470 @MobileCode char(16) = NULL
7471AS
7472 SET NoCount On
7473
7474 IF NOT EXISTS(SELECT CSSID FROM CashSetShop(NOLOCK) WHERE CSSID = @CSSID)
7475 RETURN 0
7476
7477 DECLARE @AID int
7478
7479 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7480
7481 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
7482 IF @AID IS NULL
7483 BEGIN
7484 RETURN 0
7485 END
7486 ELSE
7487 BEGIN
7488 DECLARE @RentDate datetime
7489
7490
7491
7492 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7493 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7494 BEGIN
7495 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7496 DECLARE @RentType TINYINT
7497 DECLARE @RCSSPID INT
7498
7499 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
7500 IF @RentType = 1
7501 BEGIN
7502 SELECT @RCSSPID=RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
7503 IF @RCSSPID IS NULL
7504 BEGIN
7505 RETURN 0
7506 END
7507 END
7508
7509 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
7510 SET @RentDate = NULL
7511 END
7512 ELSE
7513 BEGIN
7514 SET @RentDate = GETDATE()
7515 END
7516
7517
7518
7519 BEGIN TRAN
7520
7521 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
7522 FOR
7523 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
7524 FOR READ ONLY
7525
7526 OPEN curBuyCashSetItem
7527
7528 DECLARE @varCSID int
7529 DECLARE @ItemID int
7530
7531 FETCH FROM curBuyCashSetItem INTO @varCSID
7532
7533 WHILE @@FETCH_STATUS = 0
7534 BEGIN
7535 SELECT @ItemID = cs.ItemID
7536 FROM CashShop cs (NOLOCK)
7537 WHERE cs.CSID = @varCSID
7538
7539 IF @ItemID IS NOT NULL
7540 BEGIN
7541 -- ì•„ì´í…œ ìƒì„±.
7542 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
7543 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7544
7545 IF @@ERROR <> 0
7546 BEGIN
7547 ROLLBACK
7548 CLOSE curBuyCashSetItem
7549 DEALLOCATE curBuyCashSetItem
7550 RETURN 0
7551 END
7552 END
7553
7554 FETCH curBuyCashSetItem INTO @varCSID
7555 END
7556
7557 CLOSE curBuyCashSetItem
7558 DEALLOCATE curBuyCashSetItem
7559
7560 -- 셋트 ì•„ì´í…œ 구입 로그.
7561 INSERT INTO SetItemPurchaseLogByCash (AID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
7562 VALUES (@AID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7563
7564 IF @@ERROR <> 0
7565 BEGIN
7566 ROLLBACK
7567 RETURN 0
7568 END
7569
7570 COMMIT TRAN
7571 RETURN 1
7572 END
7573
7574
7575
7576
7577
7578
7579
7580GO
7581/****** Object: StoredProcedure [dbo].[spCashShopGetRankedList] Script Date: 28-05-2018 18:12:28 ******/
7582SET ANSI_NULLS ON
7583GO
7584SET QUOTED_IDENTIFIER ON
7585GO
7586
7587
7588CREATE PROC [dbo].[spCashShopGetRankedList]
7589 @Category varchar(32)
7590 -- @Category : ì›ê±°ë¦¬ë¬´ê¸°, ê·¼ì ‘ë¬´ê¸°, 특수아ì´í…œ, 방어구, 세트
7591AS
7592SET NOCOUNT ON
7593BEGIN
7594 IF (@Category = '세트')
7595 BEGIN
7596 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
7597 FROM CashShopRank r(NOLOCK), CashSetShop s(NOLOCK)
7598 WHERE r.CSSID=s.CSSID AND Category=@Category AND s.Opened=1
7599 END
7600 ELSE
7601 BEGIN
7602 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
7603 FROM CashShopRank r(NOLOCK), CashShop s(NOLOCK)
7604 WHERE r.CSID=s.CSID AND Category=@Category AND s.Opened=1
7605 END
7606END
7607
7608
7609
7610
7611
7612
7613
7614GO
7615/****** Object: StoredProcedure [dbo].[spCashShopNewItemList] Script Date: 28-05-2018 18:12:28 ******/
7616SET ANSI_NULLS ON
7617GO
7618SET QUOTED_IDENTIFIER ON
7619GO
7620
7621CREATE PROC [dbo].[spCashShopNewItemList]
7622 @IsSetItem INT
7623AS
7624BEGIN
7625 IF @IsSetItem=0
7626 BEGIN
7627 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashShop c(NOLOCK)
7628 WHERE n.CSID=c.CSID AND c.Opened=1 AND IsSetItem=0 ORDER BY NewOrder
7629 END
7630 ELSE
7631 BEGIN
7632 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashSetShop c(NOLOCK)
7633 WHERE n.CSSID=c.CSSID AND c.Opened=1 AND IsSetItem=1 ORDER BY NewOrder
7634 END
7635END
7636
7637
7638
7639
7640GO
7641/****** Object: StoredProcedure [dbo].[spCashShopNewItemUpdate] Script Date: 28-05-2018 18:12:28 ******/
7642SET ANSI_NULLS ON
7643GO
7644SET QUOTED_IDENTIFIER ON
7645GO
7646
7647
7648CREATE PROC [dbo].[spCashShopNewItemUpdate]
7649 @NewOrder INT,
7650 @IsSetItem INT,
7651 @CSID INT,
7652 @CSSID INT
7653AS
7654SET NOCOUNT ON
7655BEGIN
7656
7657 IF EXISTS(SELECT id FROM CashShopNewItem(NOLOCK) WHERE NewOrder=@NewOrder)
7658 BEGIN
7659 DELETE CashShopNewItem WHERE NewOrder=@NewOrder
7660 END
7661
7662 IF @IsSetItem = 0
7663 BEGIN
7664 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7665 SELECT @NewOrder AS NewOrder,
7666 CASE i.Slot
7667 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7668 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7669 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7670 WHEN 3 THEN '특수아ì´í…œ'
7671 WHEN 4 THEN '방어구'
7672 WHEN 5 THEN '방어구'
7673 WHEN 6 THEN '방어구'
7674 WHEN 7 THEN '방어구'
7675 WHEN 8 THEN '방어구'
7676 WHEN 9 THEN '방어구'
7677 END AS Category,
7678 @IsSetItem, s.CSID, NULL AS CSSID,
7679 CASE i.Slot
7680 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7681 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7682 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7683 WHEN 3 THEN 'ì•„ì´í…œ'
7684 WHEN 4 THEN '머리'
7685 WHEN 5 THEN '가슴'
7686 WHEN 6 THEN 'ì†'
7687 WHEN 7 THEN '다리'
7688 WHEN 8 THEN '발'
7689 WHEN 9 THEN 'ì†ê°€ë½'
7690 END AS Slot,
7691 i.Name, i.ResSex, i.ResLevel, CashPrice, s.WebImgName
7692 FROM CashShop s(NOLOCK), Item i(NOLOCK)
7693 WHERE s.ItemID=i.ItemID AND CSID=@CSID
7694 END
7695 ELSE
7696 BEGIN
7697 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7698 SELECT @NewOrder AS NewOrder, '세트', @IsSetItem, NULL AS CSID, CSSID, '세트' AS Slot, Name, ResSex, ResLevel, CashPrice, WebImgName
7699 FROM CashSetShop(NOLOCK)
7700 WHERE CSSID=@CSSID
7701 END
7702END
7703
7704
7705
7706
7707
7708GO
7709/****** Object: StoredProcedure [dbo].[spChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
7710SET ANSI_NULLS ON
7711GO
7712SET QUOTED_IDENTIFIER ON
7713GO
7714
7715
7716-- ìºë¦í„° ì´ë¦„ 변경
7717CREATE PROC [dbo].[spChangeCharName]
7718 @AID int,
7719 @CID int,
7720 @NewName varchar(24)
7721AS
7722SET NOCOUNT ON
7723IF (LEN(@NewName) <= 0) OR (LEN(@NewName) > 12)
7724BEGIN
7725 SELECT 0 AS Ret
7726END
7727
7728IF EXISTS (SELECT TOP 1 CID FROM Character where (Name=@NewName) AND (DeleteFlag=0))
7729BEGIN
7730 SELECT 0 AS Ret
7731 return (-1)
7732END
7733
7734UPDATE Character SET Name=@NewName WHERE AID=@AID AND CID=@CID
7735IF 0 = @@ROWCOUNT BEGIN
7736 SELECT 0 AS Ret
7737 RETURN (-1)
7738END
7739
7740SELECT 1 AS Ret
7741
7742
7743
7744
7745
7746
7747GO
7748/****** Object: StoredProcedure [dbo].[spCheckDuplicateCharName] Script Date: 28-05-2018 18:12:28 ******/
7749SET ANSI_NULLS ON
7750GO
7751SET QUOTED_IDENTIFIER ON
7752GO
7753
7754create proc [dbo].[spCheckDuplicateCharName]
7755 @Name varchar(24)
7756as
7757 set nocount on
7758 select top 1 cid from character(nolock) where deleteflag <> 1 and name = @Name
7759
7760
7761
7762
7763GO
7764/****** Object: StoredProcedure [dbo].[spCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
7765SET ANSI_NULLS ON
7766GO
7767SET QUOTED_IDENTIFIER ON
7768GO
7769
7770
7771
7772
7773CREATE PROC [dbo].[spCheckRegisteredUser]
7774 @UserID VARCHAR(20)
7775AS
7776BEGIN
7777 SET NOCOUNT ON
7778 DECLARE @AID INT
7779
7780 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7781
7782 IF @@ERROR <> 0
7783 BEGIN
7784 RETURN -- 디비장ì•
7785 END
7786
7787 IF @AID IS NULL
7788 BEGIN
7789 RETURN -1 -- 미가입ìž
7790 END
7791 select 1
7792 RETURN 1 -- ê°€ìž…ìž í™•ì¸
7793END
7794
7795
7796
7797
7798
7799GO
7800/****** Object: StoredProcedure [dbo].[spClearAllEquipedItem] Script Date: 28-05-2018 18:12:28 ******/
7801SET ANSI_NULLS ON
7802GO
7803SET QUOTED_IDENTIFIER ON
7804GO
7805
7806
7807/* ìºë¦í„° ëª¨ë“ ìž¥ë¹„ í•´ì œ */
7808CREATE PROC [dbo].[spClearAllEquipedItem]
7809 @CID int
7810AS
7811SET NOCOUNT ON
7812
7813UPDATE Character WITH (rowlock)
7814SET head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
7815 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL, custom1_slot=NULL, custom2_slot=NULL,
7816 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
7817 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL, custom1_itemid=NULL, custom2_itemid=NULL
7818
7819WHERE CID=@CID
7820
7821
7822
7823
7824
7825
7826
7827GO
7828/****** Object: StoredProcedure [dbo].[spConfirmBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7829SET ANSI_NULLS ON
7830GO
7831SET QUOTED_IDENTIFIER ON
7832GO
7833
7834
7835/* ì¼ë°˜ ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7836CREATE PROC [dbo].[spConfirmBuyCashItem]
7837 @UserID varchar(20),
7838 @CSID int,
7839 @RetEnableBuyItem int OUTPUT,
7840 @RetRepeatBuySameItem int OUTPUT
7841AS
7842SET NoCount On
7843
7844DECLARE @AID int
7845DECLARE @ItemID int
7846DECLARE @AIID int
7847
7848
7849SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7850SELECT @ItemID = ItemID FROM CashShop(nolock) WHERE CSID=@CSID
7851
7852IF @AID IS NULL
7853BEGIN
7854 SELECT @RetEnableBuyItem = 0
7855 SELECT @RetRepeatBuySameItem = 0
7856END
7857ELSE
7858BEGIN
7859 SELECT @RetEnableBuyItem = 1
7860
7861
7862 IF (@ItemID IS NOT NULL)
7863 BEGIN
7864 SELECT TOP 1 @AIID = AIID FROM AccountItem(nolock) WHERE AID=@AID AND ItemID=@ItemID
7865 IF (@AIID IS NOT NULL)
7866 BEGIN
7867 SELECT @RetRepeatBuySameItem = 1
7868 END
7869 ELSE
7870 BEGIN
7871 SELECT @RetRepeatBuySameItem = 0
7872 END
7873 END
7874 ELSE
7875 BEGIN
7876 SELECT @RetRepeatBuySameItem = 0
7877 END
7878
7879
7880END
7881
7882
7883
7884
7885
7886
7887GO
7888/****** Object: StoredProcedure [dbo].[spConfirmBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7889SET ANSI_NULLS ON
7890GO
7891SET QUOTED_IDENTIFIER ON
7892GO
7893
7894
7895
7896
7897/* 세트 ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7898CREATE PROC [dbo].[spConfirmBuyCashSetItem]
7899 @UserID varchar(20),
7900 @CSSID int,
7901 @RetEnableBuyItem int OUTPUT,
7902 @RetRepeatBuySameItem int OUTPUT
7903AS
7904SET NoCount On
7905
7906DECLARE @AID int
7907DECLARE @SIL_ID int
7908DECLARE @LAST_ID int
7909
7910SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7911
7912
7913IF @AID IS NULL
7914BEGIN
7915 SELECT @RetEnableBuyItem = 0
7916 SELECT @RetRepeatBuySameItem = 0
7917END
7918ELSE
7919BEGIN
7920 SELECT @RetEnableBuyItem = 1
7921
7922 SELECT TOP 1 @LAST_ID = id FROM SetItemPurchaseLogByCash spl(nolock) order by id desc
7923
7924 SELECT TOP 1 @SIL_ID = id FROM SetItemPurchaseLogByCash spl(nolock)
7925 WHERE id > (@LAST_ID-10000) AND AID=@AID AND CSSID=@CSSID
7926
7927 IF (@SIL_ID IS NOT NULL)
7928 BEGIN
7929 SELECT @RetRepeatBuySameItem = 1
7930 END
7931 ELSE
7932 BEGIN
7933 SELECT @RetRepeatBuySameItem = 0
7934 END
7935
7936END
7937
7938
7939
7940
7941
7942
7943GO
7944/****** Object: StoredProcedure [dbo].[spConfirmExistClan] Script Date: 28-05-2018 18:12:28 ******/
7945SET ANSI_NULLS ON
7946GO
7947SET QUOTED_IDENTIFIER ON
7948GO
7949
7950
7951-- í´ëžœì´ 존재하는지 확ì¸í•˜ê¸°
7952CREATE PROC [dbo].[spConfirmExistClan]
7953 @ClanName varchar(24)
7954AS
7955 SET NOCOUNT ON
7956 SELECT COUNT(*) FROM Clan(NOLOCK) WHERE Name=@ClanName
7957
7958
7959
7960
7961
7962GO
7963/****** Object: StoredProcedure [dbo].[spCreateClan] Script Date: 28-05-2018 18:12:28 ******/
7964SET ANSI_NULLS ON
7965GO
7966SET QUOTED_IDENTIFIER ON
7967GO
7968
7969
7970-- í´ëžœ ìƒì„±í•˜ê¸°
7971CREATE PROC [dbo].[spCreateClan]
7972 @ClanName varchar(24),
7973 @MasterCID int
7974AS
7975 DECLARE @NewCLID int
7976
7977 -- í´ëžœì´ë¦„ì´ ì¤‘ë³µì¸ì§€ 검사해야한다.
7978 SELECT @NewCLID=CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
7979
7980 IF @NewCLID IS NOT NULL
7981 BEGIN
7982 SELECT 0 AS Ret, 0 AS NewCLID
7983 RETURN
7984 END
7985
7986
7987 DECLARE @CNT int
7988
7989 -- í´ëžœì›ì´ ëª¨ë‘ ê°€ìž… 가능한지 검사해야한다.
7990 SELECT @CNT = COUNT(*) FROM ClanMember cm(NOLOCK), Character c(NOLOCK) WHERE (cm.CID=@MasterCID) AND cm.CID=c.CID AND c.DeleteFlag=0
7991
7992 IF @CNT != 0
7993 BEGIN
7994 SELECT 0 AS Ret, 0 AS NewCLID
7995 RETURN
7996 END
7997
7998
7999 BEGIN TRAN
8000 -- í´ëžœ ìƒì„±
8001 INSERT INTO Clan (Name, MasterCID, RegDate) VALUES (@ClanName, @MasterCID, GETDATE())
8002 IF 0 <> @@ERROR BEGIN
8003 ROLLBACK TRAN
8004 SELECT 0 AS Ret, 0 AS NewCLID
8005 RETURN
8006 END
8007
8008 SELECT @NewCLID = @@IDENTITY
8009 IF (@NewCLID IS not NULL)
8010 BEGIN
8011 DECLARE @Err1 int
8012
8013 -- í´ëžœì› 가입
8014 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@NewCLID, @MasterCID, 1, GETDATE())
8015 SET @Err1 = @@ERROR
8016
8017 IF (0 <> @Err1) BEGIN
8018 ROLLBACK TRAN
8019 SELECT 0 AS Ret, 0 AS NewCLID
8020 RETURN
8021 END
8022 END
8023 COMMIT TRAN
8024
8025
8026 SELECT 1 AS Ret, @NewCLID AS NewCLID
8027GO
8028/****** Object: StoredProcedure [dbo].[spDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
8029SET ANSI_NULLS ON
8030GO
8031SET QUOTED_IDENTIFIER ON
8032GO
8033
8034
8035/* ìºë¦í„° ì‚ì œ */
8036CREATE PROC [dbo].[spDeleteChar]
8037 @AID int,
8038 @CharNum smallint,
8039 @CharName varchar(24)
8040AS
8041DECLARE @CID int
8042DECLARE @CashItemCount int
8043
8044SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8045IF (@CID IS NULL)
8046BEGIN
8047 return (-1)
8048END
8049
8050SELECT @CashItemCount=COUNT(*) FROM CharacterItem(nolock) WHERE CID=@CID AND ItemID>=500000
8051
8052IF (@CashItemCount > 0) OR
8053 (EXISTS (SELECT TOP 1 CLID FROM ClanMember WHERE CID=@CID))
8054BEGIN
8055SELECT 2 AS Ret
8056return (0)
8057 return (-1)
8058END
8059
8060BEGIN TRAN
8061
8062UPDATE Character SET CharNum = -1, DeleteFlag = 1, Name='', DeleteName=@CharName
8063WHERE AID=@AID AND CharNum=@CharNum AND Name=@CharName
8064IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8065SELECT 3 AS Ret
8066 ROLLBACK TRAN
8067return (0)
8068 RETURN (-1)
8069END
8070
8071INSERT INTO CharacterMakingLog(AID, CharName, Type, Date)
8072VALUES(@AID, @CharName, 'ì‚ì œ', GETDATE())
8073IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8074SELECT 4 AS Ret
8075 ROLLBACK TRAN
8076return (0)
8077 RETURN (-1)
8078END
8079
8080COMMIT TRAN
8081SELECT 1 AS Ret
8082
8083
8084
8085
8086
8087
8088GO
8089/****** Object: StoredProcedure [dbo].[spDeleteCharItem] Script Date: 28-05-2018 18:12:28 ******/
8090SET ANSI_NULLS ON
8091GO
8092SET QUOTED_IDENTIFIER ON
8093GO
8094
8095
8096
8097/* ìºë¦í„° ì•„ì´í…œ ì‚ì œ */
8098CREATE PROC [dbo].[spDeleteCharItem]
8099 @CID int,
8100 @CIID int
8101AS
8102SET NOCOUNT ON
8103
8104UPDATE CharacterItem SET CID=NULL
8105WHERE CID=@CID AND CIID=@CIID
8106
8107/* ì˜ˆì „êº¼
8108DELETE FROM CharacterItem
8109WHERE CID=@CID AND CIID=@CIID
8110*/
8111
8112
8113
8114
8115
8116GO
8117/****** Object: StoredProcedure [dbo].[spDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
8118SET ANSI_NULLS ON
8119GO
8120SET QUOTED_IDENTIFIER ON
8121GO
8122
8123
8124
8125-- í´ëžœ ì‚ì œí•˜ê¸°
8126CREATE PROC [dbo].[spDeleteClan]
8127 @CLID int,
8128 @ClanName varchar(24)
8129
8130AS
8131 SET NOCOUNT ON
8132 -- í´ëžœì› ëª¨ë‘ ì‚ì œ
8133 DELETE FROM ClanMember WHERE CLID=@CLID
8134
8135 -- í´ëžœ ì‚ì œ
8136 UPDATE Clan SET Name=NULL, DeleteFlag=1, DeleteName=@ClanName WHERE CLID=@CLID
8137
8138
8139
8140
8141
8142
8143GO
8144/****** Object: StoredProcedure [dbo].[spDeleteExpiredAccountItem] Script Date: 28-05-2018 18:12:28 ******/
8145SET ANSI_NULLS ON
8146GO
8147SET QUOTED_IDENTIFIER ON
8148GO
8149
8150
8151/* 중앙ì€í–‰ì˜ 기간만료 ì•„ì´í…œ ì‚ì œ */
8152CREATE PROC [dbo].[spDeleteExpiredAccountItem]
8153 @AIID int
8154AS
8155SET NOCOUNT ON
8156
8157DELETE FROM AccountItem WHERE AIID=@AIID AND RentDate IS NOT NULL
8158
8159
8160
8161
8162
8163
8164GO
8165/****** Object: StoredProcedure [dbo].[spFetchTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
8166SET ANSI_NULLS ON
8167GO
8168SET QUOTED_IDENTIFIER ON
8169GO
8170
8171
8172/* ì „ì²´ ëží‚¹ì„ 산출한다. - 디비 ì—ì´ì „트ì—서 실행시키는 í”„ë¡œì‹œì ¸ */
8173CREATE PROC [dbo].[spFetchTotalRanking]
8174AS
8175SET NOCOUNT ON
8176TRUNCATE TABLE TotalRanking
8177
8178INSERT into TotalRanking(UserID, Name, Level, XP, KillCount, DeathCount)
8179
8180SELECT Account.UserID, c.name, c.Level, c.XP, c.KillCount, c.DeathCount
8181FROM Character c(nolock), Account(nolock)
8182WHERE Account.AID=c.aid AND c.DeleteFlag=0 AND c.XP >= 500
8183ORDER BY c.xp DESC, c.KillCount DESC, c.DeathCount ASC, c.PlayTime DESC
8184
8185
8186
8187
8188
8189GO
8190/****** Object: StoredProcedure [dbo].[spGetAccountCharInfo] Script Date: 28-05-2018 18:12:28 ******/
8191SET ANSI_NULLS ON
8192GO
8193SET QUOTED_IDENTIFIER ON
8194GO
8195
8196
8197-- ìºë¦í„°ì„ íƒì‹œ ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8198CREATE PROC [dbo].[spGetAccountCharInfo]
8199 @AID int
8200, @CharNum smallint
8201AS
8202SET NOCOUNT ON
8203DECLARE @CID int
8204DECLARE @CLID int
8205DECLARE @ClanName varchar(24)
8206DECLARE @ClanGrade int
8207DECLARE @ClanContPoint int
8208
8209SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8210
8211SELECT @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,
8212 c.XP AS XP, c.BP AS BP,
8213 (SELECT cl.Name FROM Clan cl(nolock), ClanMember cm(nolock) WHERE cm.cid=@CID AND cm.CLID=cl.CLID) AS ClanName,
8214 head_itemid, chest_itemid, hands_itemid, legs_itemid, feet_itemid, fingerl_itemid,
8215 fingerr_itemid, melee_itemid, primary_itemid, secondary_itemid, custom1_itemid, custom2_itemid
8216FROM Character AS c WITH (nolock)
8217WHERE c.CID = @CID
8218
8219
8220
8221
8222
8223
8224GO
8225/****** Object: StoredProcedure [dbo].[spGetAccountInfo] Script Date: 28-05-2018 18:12:28 ******/
8226SET ANSI_NULLS ON
8227GO
8228SET QUOTED_IDENTIFIER ON
8229GO
8230
8231
8232CREATE PROC [dbo].[spGetAccountInfo]
8233 @AID int
8234, @ServerID int = 0
8235AS
8236BEGIN
8237 SET NOCOUNT ON
8238
8239 SELECT AID, UserID, UGradeID, Name, HackingType
8240 , DATEPART(yy, EndHackingBlockTime) AS HackBlockYear, DATEPART(mm, EndHackingBlockTime) AS HackBlockMonth
8241 , DATEPART(dd, EndHackingBlockTime) AS HackBlockDay, DATEPART(hh, EndHackingBlockTime) AS HackBlockHour
8242 , DATEPART(mi, EndHackingBlockTime) AS HackBlockMin
8243 FROM Account(NOLOCK) WHERE AID = @AID
8244
8245 update Account set LastLoginTime = getdate(), ServerID = @ServerID where aid = @aid
8246END
8247
8248
8249
8250
8251GO
8252/****** Object: StoredProcedure [dbo].[spGetAgoDay] Script Date: 28-05-2018 18:12:28 ******/
8253SET ANSI_NULLS ON
8254GO
8255SET QUOTED_IDENTIFIER ON
8256GO
8257
8258
8259-- 현재 ë‚ ì§œë¥¼ 기준으로 í‹€ì • ì¼ìˆ˜ ì´ì „ì˜ ë‚ ì„ êµ¬í•¨( EX, 2004-10-15 )
8260-- spRegularUpdateConnLogì˜ ì˜ì¡´ì„±ë•Œë¬¸ì— ë¨¼ì € ìƒì„±í•´ 줘야 함.
8261CREATE PROC [dbo].[spGetAgoDay]
8262 @DiffDay int
8263, @AgoDay datetime OUTPUT
8264AS
8265 SET NOCOUNT ON
8266 DECLARE @CurDay datetime
8267
8268 SELECT @CurDay = CONVERT( varchar(30), GETDATE(), 2 )
8269 SELECT @AgoDay = DATEADD( dd, -@DiffDay, @CurDay )
8270
8271
8272
8273
8274
8275
8276GO
8277/****** Object: StoredProcedure [dbo].[spGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8278SET ANSI_NULLS ON
8279GO
8280SET QUOTED_IDENTIFIER ON
8281GO
8282
8283
8284
8285-- ìºì‰¬ ì¼ë°˜ì•„ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8286CREATE PROC [dbo].[spGetCashItemImageFile]
8287 @CSID int
8288, @RetImageFileName varchar(64) OUTPUT
8289AS
8290SET NOCOUNT ON
8291
8292SELECT @RetImageFileName = WebImgName
8293FROM CashShop cs(nolock)
8294WHERE cs.csid=@CSID
8295
8296RETURN 1
8297
8298
8299
8300
8301
8302
8303GO
8304/****** Object: StoredProcedure [dbo].[spGetCashItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8305SET ANSI_NULLS ON
8306GO
8307SET QUOTED_IDENTIFIER OFF
8308GO
8309
8310CREATE PROC [dbo].[spGetCashItemInfo]
8311 @CSID int
8312AS
8313 SET NOCOUNT ON
8314
8315 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8316 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8317 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8318 i.Damage AS Damage, i.Delay AS Delay, i.Controllability AS Controllability,
8319 i.Magazine AS Magazine, i.MaxBullet AS MaxBullet, i.ReloadTime AS ReloadTime,
8320 i.HP AS HP, i.AP AS AP, i.MAXWT AS MaxWeight, i.LimitSpeed AS LimitSpeed,
8321 i.FR AS FR, i.CR AS CR, i.PR AS PR, i.LR AS LR,
8322 i.Description AS Description, cs.NewItemOrder AS IsNewItem,
8323 cs.RentType AS RentType
8324 FROM CashShop cs(nolock), Item i(nolock)
8325 WHERE i.ItemID = cs.ItemID AND cs.csid = @CSID
8326
8327
8328
8329
8330
8331
8332GO
8333/****** Object: StoredProcedure [dbo].[spGetCashItemList] Script Date: 28-05-2018 18:12:28 ******/
8334SET ANSI_NULLS ON
8335GO
8336SET QUOTED_IDENTIFIER ON
8337GO
8338
8339
8340/* ì•„ì´í…œ 리스트 ê°€ì ¸ì˜¤ê¸° */
8341CREATE PROC [dbo].[spGetCashItemList]
8342 @ItemType int,
8343 @Page int,
8344 @PageCount int OUTPUT
8345AS
8346SET NoCount On
8347
8348DECLARE @Rows int
8349DECLARE @ViewCount int
8350
8351SELECT @Rows = @Page * 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8352
8353DECLARE @PageSize INT
8354SELECT @PageSize = 8
8355
8356DECLARE @PageHead INT
8357DECLARE @RowCount INT
8358
8359
8360IF @ItemType = 1 /* ê·¼ì ‘ë¬´ê¸° */
8361BEGIN
8362
8363 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8364 FROM CashShop cs(nolock), Item i(nolock)
8365 WHERE i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8366
8367 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8368
8369 SET ROWCOUNT @RowCount
8370 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8371 WHERE cs.ItemID=i.ItemID AND i.Slot=1 AND cs.Opened=1
8372 ORDER BY cs.csid DESC
8373
8374 SET ROWCOUNT @PageSize
8375 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8376 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8377 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8378 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8379 cs.RentType AS RentType
8380 FROM CashShop cs(nolock), Item i(nolock)
8381 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8382 ORDER BY cs.csid DESC
8383
8384END
8385ELSE
8386IF @ItemType=2 /* ì›ê±°ë¦¬ë¬´ê¸° */
8387BEGIN
8388
8389 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8390 FROM CashShop cs(nolock), Item i(nolock)
8391 WHERE i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8392
8393 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8394
8395 SET ROWCOUNT @RowCount
8396 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8397 WHERE cs.ItemID=i.ItemID AND i.Slot=2 AND cs.Opened=1
8398 ORDER BY cs.csid DESC
8399
8400 SET ROWCOUNT @PageSize
8401 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8402 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8403 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8404 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8405 cs.RentType AS RentType
8406 FROM CashShop cs(nolock), Item i(nolock)
8407 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8408 ORDER BY cs.csid DESC
8409
8410END
8411ELSE
8412IF @ItemType=3 /* 방어구 */
8413BEGIN
8414
8415 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8416 FROM CashShop cs(nolock), Item i(nolock)
8417 WHERE i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8418
8419 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8420
8421 SET ROWCOUNT @RowCount
8422 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8423 WHERE cs.ItemID=i.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8424 ORDER BY cs.csid DESC
8425
8426 SET ROWCOUNT @PageSize
8427 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8428 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8429 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8430 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8431 cs.RentType AS RentType
8432 FROM CashShop cs(nolock), Item i(nolock)
8433 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8434 ORDER BY cs.csid DESC
8435
8436END
8437ELSE
8438IF @ItemType=4 /* 특수아ì´í…œ */
8439BEGIN
8440
8441 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8442 FROM CashShop cs(nolock), Item i(nolock)
8443 WHERE i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8444
8445 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8446
8447 SET ROWCOUNT @RowCount
8448 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8449 WHERE cs.ItemID=i.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8450 ORDER BY cs.csid DESC
8451
8452 SET ROWCOUNT @PageSize
8453 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8454 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8455 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8456 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8457 cs.RentType AS RentType
8458 FROM CashShop cs(nolock), Item i(nolock)
8459 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8460 ORDER BY cs.csid DESC
8461
8462END
8463
8464SET ROWCOUNT 0
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475GO
8476/****** Object: StoredProcedure [dbo].[spGetCashSetItemComposition] Script Date: 28-05-2018 18:12:28 ******/
8477SET ANSI_NULLS ON
8478GO
8479SET QUOTED_IDENTIFIER ON
8480GO
8481
8482
8483/* 세트 ì•„ì´í…œì˜ 세부아ì´í…œ ëª©ë¡ ë³´ê¸° */
8484CREATE PROC [dbo].[spGetCashSetItemComposition]
8485 @CSSID int,
8486 @OutRowCount int OUTPUT
8487AS
8488SET NOCOUNT ON
8489
8490SELECT @OutRowCount = COUNT(*)
8491FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8492WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8493
8494SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8495 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8496 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8497 i.Description AS Description, cs.RegDate As RegDate,
8498 cs.NewItemOrder AS IsNewItem
8499
8500FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8501WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8502
8503
8504
8505
8506
8507
8508
8509GO
8510/****** Object: StoredProcedure [dbo].[spGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8511SET ANSI_NULLS ON
8512GO
8513SET QUOTED_IDENTIFIER ON
8514GO
8515
8516
8517
8518-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8519CREATE PROC [dbo].[spGetCashSetItemImageFile]
8520 @CSSID int
8521, @RetImageFileName varchar(64) OUTPUT
8522AS
8523SET NOCOUNT ON
8524
8525SELECT @RetImageFileName=WebImgName FROM CashSetShop css(nolock) WHERE CSSID=@CSSID
8526
8527RETURN 1
8528
8529
8530
8531
8532
8533GO
8534/****** Object: StoredProcedure [dbo].[spGetCashSetItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8535SET ANSI_NULLS ON
8536GO
8537SET QUOTED_IDENTIFIER ON
8538GO
8539
8540
8541/* 세트아ì´í…œì˜ ìƒì„¸ ì •ë³´ 보기 */
8542CREATE PROC [dbo].[spGetCashSetItemInfo]
8543 @CSSID int
8544AS
8545 SET NOCOUNT ON
8546
8547 SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8548 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8549 Description AS Description, NewItemOrder As IsNewItem, RentType AS RentType
8550
8551 FROM CashSetShop css(nolock)
8552 WHERE CSSID = @CSSID
8553
8554
8555
8556
8557
8558
8559GO
8560/****** Object: StoredProcedure [dbo].[spGetCashSetItemList] Script Date: 28-05-2018 18:12:28 ******/
8561SET ANSI_NULLS ON
8562GO
8563SET QUOTED_IDENTIFIER ON
8564GO
8565
8566
8567/* 세트아ì´í…œ ëª©ë¡ ë³´ê¸° */
8568CREATE PROC [dbo].[spGetCashSetItemList]
8569 @Page int,
8570 @PageCount int OUTPUT
8571AS
8572SET NoCount On
8573DECLARE @Rows int
8574DECLARE @ViewCount int
8575
8576DECLARE @PageSize INT
8577SELECT @PageSize = 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8578
8579DECLARE @PageHead INT
8580DECLARE @RowCount INT
8581
8582SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize FROM CashSetShop css(nolock) WHERE css.Opened=1
8583SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8584
8585SET ROWCOUNT @RowCount
8586SELECT @PageHead = css.CSSID FROM CashSetShop css(nolock)
8587WHERE css.Opened=1
8588ORDER BY css.cssid DESC
8589
8590
8591SET ROWCOUNT @PageSize
8592SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8593 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8594 Description AS Description, RegDate AS RegDate, NewItemOrder AS IsNewItem,
8595 RentType AS RentType
8596FROM CashSetShop css(nolock)
8597WHERE cssid <= @PageHead AND css.Opened=1
8598ORDER BY css.cssid DESC
8599
8600
8601SET ROWCOUNT 0
8602
8603
8604
8605
8606
8607
8608GO
8609/****** Object: StoredProcedure [dbo].[spGetCharClan] Script Date: 28-05-2018 18:12:28 ******/
8610SET ANSI_NULLS ON
8611GO
8612SET QUOTED_IDENTIFIER ON
8613GO
8614
8615
8616
8617-- í´ëžœì´ë¦„ 알아오기
8618CREATE PROC [dbo].[spGetCharClan]
8619 @CID int
8620AS
8621 SET NOCOUNT ON
8622 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
8623
8624
8625
8626
8627
8628GO
8629/****** Object: StoredProcedure [dbo].[spGetCharInfoByCharNum] Script Date: 28-05-2018 18:12:28 ******/
8630SET ANSI_NULLS ON
8631GO
8632SET QUOTED_IDENTIFIER ON
8633GO
8634
8635
8636-- ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8637CREATE PROC [dbo].[spGetCharInfoByCharNum]
8638 @AID int
8639, @CharNum smallint
8640AS
8641SET NOCOUNT ON
8642
8643DECLARE @CID int
8644DECLARE @CLID int
8645DECLARE @ClanName varchar(24)
8646DECLARE @ClanGrade int
8647DECLARE @ClanContPoint int
8648BEGIN
8649SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8650SELECT @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
8651
8652SELECT CID, AID, Name, Level, Sex, CharNum, Hair, Face, XP, BP, HP, AP, FR, CR, ER, WR, GameCount, KillCount, DeathCount, PlayTime,
8653 head_slot, chest_slot, hands_slot, legs_slot, feet_slot, fingerl_slot, fingerr_slot, melee_slot, primary_slot,
8654 secondary_slot, custom1_slot, custom2_slot,
8655 @CLID AS CLID, @ClanName AS ClanName, @ClanGrade AS ClanGrade, @ClanContPoint AS ClanContPoint
8656FROM Character WITH (nolock) where cid=@CID
8657END
8658
8659
8660
8661
8662
8663GO
8664/****** Object: StoredProcedure [dbo].[spGetCharList] Script Date: 28-05-2018 18:12:28 ******/
8665SET ANSI_NULLS ON
8666GO
8667SET QUOTED_IDENTIFIER ON
8668GO
8669
8670
8671/* ê³„ì •ì˜ ìºë¦í„° 리스트 ê°€ì ¸ì˜¤ê¸° */
8672CREATE PROC [dbo].[spGetCharList]
8673 @AID int
8674AS
8675SET NOCOUNT ON
8676SELECT c.CID AS CID, c.Name AS Name, c.CharNum AS CharNum, c.Level AS Level
8677FROM Character AS c WITH (nolock)
8678WHERE c.AID=@AID AND c.DeleteFlag = 0
8679
8680
8681
8682
8683
8684GO
8685/****** Object: StoredProcedure [dbo].[spGetCharNameByCID] Script Date: 28-05-2018 18:12:28 ******/
8686SET ANSI_NULLS ON
8687GO
8688SET QUOTED_IDENTIFIER ON
8689GO
8690
8691
8692--------------------------------------------
8693
8694create proc [dbo].[spGetCharNameByCID]
8695 @CID int
8696as
8697 set nocount on
8698 select name from character(nolock) where CID = @CID
8699
8700
8701
8702
8703GO
8704/****** Object: StoredProcedure [dbo].[spGetCheckBlockedIP] Script Date: 28-05-2018 18:12:28 ******/
8705SET ANSI_NULLS ON
8706GO
8707SET QUOTED_IDENTIFIER ON
8708GO
8709
8710CREATE PROC [dbo].[spGetCheckBlockedIP]
8711@IP varchar(15)
8712AS
8713BEGIN
8714 SELECT ic.CountryName as Name, bcc.CountryCode3 as Code, bcc.IsBlock
8715 FROM BlockCountryCode bcc(NOLOCK), IPtoCountry ic(NOLOCK)
8716 WHERE ic.CountryCode3 = bcc.CountryCode3 and
8717 ic.IPFrom <= GunzDB.game.inet_aton( @IP ) and ic.IPTo >= GunzDB.game.inet_aton( @IP )
8718END
8719
8720
8721
8722
8723GO
8724/****** Object: StoredProcedure [dbo].[spGetCIDbyCharName] Script Date: 28-05-2018 18:12:28 ******/
8725SET ANSI_NULLS ON
8726GO
8727SET QUOTED_IDENTIFIER ON
8728GO
8729
8730
8731--------------------------------------------
8732
8733create proc [dbo].[spGetCIDbyCharName]
8734 @Name varchar(24)
8735as
8736 set nocount on
8737 select cid from character(nolock) where name = @Name
8738
8739
8740
8741
8742GO
8743/****** Object: StoredProcedure [dbo].[spGetClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
8744SET ANSI_NULLS ON
8745GO
8746SET QUOTED_IDENTIFIER ON
8747GO
8748
8749
8750/* í´ëžœ ëª…ì˜ˆì˜ ì „ë‹¹ 보기 월별 10위까지
8751 2004ë…„ 9ì›” ~ í˜„ìž¬ì €ë²ˆë‹¬ê¹Œì§€(ì´ë‹¬ ì œì™¸) */
8752CREATE PROC [dbo].[spGetClanHonorRanking]
8753 @Year INT,
8754 @Month INT
8755AS
8756SET NOCOUNT ON
8757BEGIN
8758 SELECT TOP 10 r.Ranking, r.ClanName, r.Point, r.Wins, r.Losses, r.CLID, c.EmblemUrl
8759 FROM ClanHonorRanking r(NOLOCK), Clan c(NOLOCK)
8760 WHERE r.CLID=c.CLID AND Year = @Year AND Month = @Month
8761 ORDER BY r.Ranking
8762END
8763
8764
8765
8766
8767
8768GO
8769/****** Object: StoredProcedure [dbo].[spGetClanInfo] Script Date: 28-05-2018 18:12:28 ******/
8770SET ANSI_NULLS ON
8771GO
8772SET QUOTED_IDENTIFIER ON
8773GO
8774
8775
8776-- í´ëžœ ì •ë³´ 얻기
8777CREATE PROC [dbo].[spGetClanInfo]
8778 @CLID int
8779AS
8780SET NOCOUNT ON
8781
8782SELECT cl.CLID AS CLID, cl.Name AS Name, cl.TotalPoint AS TotalPoint, cl.Level AS Level, cl.Ranking AS Ranking,
8783cl.Point AS Point, cl.Wins AS Wins, cl.Losses AS Losses, cl.Draws AS Draws,
8784c.Name AS ClanMaster,
8785(SELECT COUNT(*) FROM ClanMember WHERE CLID=@CLID) AS MemberCount,
8786cl.EmblemUrl AS EmblemUrl, cl.EmblemChecksum AS EmblemChecksum
8787
8788FROM Clan cl(nolock), Character c(nolock)
8789WHERE cl.CLID=@CLID and cl.MasterCID=c.CID
8790
8791
8792
8793
8794
8795
8796
8797GO
8798/****** Object: StoredProcedure [dbo].[spGetClanList] Script Date: 28-05-2018 18:12:28 ******/
8799SET ANSI_NULLS ON
8800GO
8801SET QUOTED_IDENTIFIER ON
8802GO
8803
8804
8805/* í´ëžœ ëª©ë¡ ë³´ê¸°
8806 한페ì´ì§€ 15개씩 ê³ ì •, 최대 페ì´ì§€ 수를 위해 COUNT(*) 알아내지 ë§ê²ƒ.(ì´ì „,ë‹¤ìŒ íŽ˜ì´ì§€ë¡œ í•´ê²°)
8807 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8808 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8809CREATE PROC [dbo].[spGetClanList]
8810 @Page INT,
8811 @Backward INT = 0
8812AS
8813SET NOCOUNT ON
8814BEGIN
8815 DECLARE @PageHead INT
8816 DECLARE @RowCount INT
8817
8818 IF @Backward = 0
8819 BEGIN
8820 SELECT @RowCount = ((@Page -1) * 15 + 1)
8821
8822 SET ROWCOUNT @RowCount
8823 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID DESC
8824
8825 SET ROWCOUNT 15
8826 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
8827 FROM Clan cl(NOLOCK), Character c(nolock)
8828 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID<@PageHead
8829 ORDER BY cl.CLID DESC
8830 END
8831 ELSE
8832 BEGIN -- ì—순
8833 SELECT @RowCount = ((@Page -1) * 15 + 1)
8834
8835 SET ROWCOUNT @RowCount
8836 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID
8837
8838 SET ROWCOUNT 15
8839 SELECT CLID, ClanName, Master, RegDate, EmblemUrl, Point
8840 FROM
8841 (
8842 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
8843 FROM Clan cl(NOLOCK), Character c(nolock)
8844 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID>=@PageHead ORDER BY cl.CLID
8845 ) AS t
8846 ORDER BY CLID DESC
8847 END
8848END
8849
8850
8851
8852
8853
8854GO
8855/****** Object: StoredProcedure [dbo].[spGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
8856SET ANSI_NULLS ON
8857GO
8858SET QUOTED_IDENTIFIER ON
8859GO
8860
8861
8862/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
8863 Arg1 : @CharName (í´ëžœì´ë¦„) */
8864CREATE PROC [dbo].[spGetClanListSearchByMaster]
8865 @CharName VARCHAR(24)
8866AS
8867SET NOCOUNT ON
8868BEGIN
8869
8870SELECT TOP 20 cl.CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate, cl.EmblemUrl, cl.Point
8871FROM Clan cl(NOLOCK), Character c(nolock)
8872
8873WHERE cl.DeleteFlag=0 AND cl.MasterCID=c.CID and c.Name=@CharName
8874ORDER BY cl.CLID
8875
8876END
8877
8878
8879
8880
8881
8882GO
8883/****** Object: StoredProcedure [dbo].[spGetClanListSearchByName] Script Date: 28-05-2018 18:12:28 ******/
8884SET ANSI_NULLS ON
8885GO
8886SET QUOTED_IDENTIFIER ON
8887GO
8888
8889
8890/* í´ëžœ 목ë¡ì°¾ê¸° (ì´ë¦„으로)
8891 Arg1 : @Name (í´ëžœì´ë¦„) */
8892CREATE PROC [dbo].[spGetClanListSearchByName]
8893 @Name VARCHAR(24)
8894AS
8895SET NOCOUNT ON
8896BEGIN
8897 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
8898 FROM Clan cl(NOLOCK), Character c(NOLOCK)
8899 WHERE cl.MasterCID=c.CID AND c.DeleteFlag=0 AND cl.Name=@Name
8900 ORDER BY cl.CLID
8901END
8902
8903
8904
8905
8906
8907GO
8908/****** Object: StoredProcedure [dbo].[spGetClanMember] Script Date: 28-05-2018 18:12:28 ******/
8909SET ANSI_NULLS ON
8910GO
8911SET QUOTED_IDENTIFIER ON
8912GO
8913
8914
8915-- í´ëžœì› 알아오기
8916CREATE PROC [dbo].[spGetClanMember]
8917 @CLID int
8918AS
8919 SET NOCOUNT ON
8920 SELECT cm.clid AS CLID, cm.Grade AS ClanGrade, c.cid AS CID, c.name AS CharName
8921 FROM ClanMember cm(nolock), Character c(nolock)
8922 WHERE CLID=@CLID AND cm.cid=c.cid
8923
8924
8925
8926
8927
8928GO
8929/****** Object: StoredProcedure [dbo].[spGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
8930SET ANSI_NULLS ON
8931GO
8932SET QUOTED_IDENTIFIER ON
8933GO
8934
8935
8936
8937-- Masterì´ë¦„ê³¼ RegDate추가.
8938/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
8939 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8940 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8941CREATE PROC [dbo].[spGetClanRanking]
8942 @Page INT,
8943 @Backward INT = 0
8944AS
8945SET NOCOUNT ON
8946BEGIN
8947 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
8948 DECLARE @RowCount INT
8949 DECLARE @PageHead INT
8950
8951 IF @Backward = 0
8952 BEGIN
8953 SELECT @RowCount = ((@Page -1) * 20 + 1)
8954 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
8955 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8956 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
8957 ORDER BY cl.Ranking
8958 END
8959 ELSE
8960 BEGIN
8961 SELECT @RowCount = ((@Page -1) * 20 + 1)
8962
8963 SET ROWCOUNT @RowCount
8964 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
8965
8966 SET ROWCOUNT 20
8967 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
8968 (
8969 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
8970 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
8971 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8972 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
8973 ORDER BY cl.Ranking DESC
8974 ) AS t ORDER BY Ranking
8975 END
8976END
8977
8978
8979
8980
8981
8982GO
8983/****** Object: StoredProcedure [dbo].[spGetClanRankingHistory] Script Date: 28-05-2018 18:12:28 ******/
8984SET ANSI_NULLS ON
8985GO
8986SET QUOTED_IDENTIFIER ON
8987GO
8988
8989
8990/* í´ëžœ ì—대 ëží‚¹ì°¾ê¸°
8991 Arg1 : @Year (ë…„ë„)
8992 Arg2 : @Month (ì›”)
8993 Arg3 : @Page (페ì´ì§€)
8994 Arg4 : @Backward (ì—순) */
8995CREATE PROC [dbo].[spGetClanRankingHistory]
8996 @Year INT,
8997 @Month INT,
8998 @Page INT,
8999 @Backward INT = 0
9000AS
9001SET NOCOUNT ON
9002BEGIN
9003 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
9004 DECLARE @RowCount INT
9005 DECLARE @PageHead INT
9006
9007 IF @Backward = 0
9008 BEGIN
9009 SELECT @RowCount = ((@Page -1) * 20 + 1)
9010 SELECT TOP 20 Ranking, ClanName as ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9011 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking >= @RowCount ORDER BY Ranking
9012 END
9013 ELSE
9014 BEGIN
9015 SELECT @RowCount = ((@Page -1) * 20 + 1)
9016
9017 SET ROWCOUNT @RowCount
9018 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
9019
9020 SET ROWCOUNT 20
9021 SELECT Ranking, RankIncrease=0, ClanName, Point, Wins, Losses, CLID, EmblemUrl=NULL FROM
9022 (
9023 SELECT TOP 20 Ranking, ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9024 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking <= @PageHead ORDER BY Ranking DESC
9025 ) AS t ORDER BY Ranking
9026 END
9027END
9028
9029
9030
9031
9032
9033
9034GO
9035/****** Object: StoredProcedure [dbo].[spGetClanRankingMaxPage] Script Date: 28-05-2018 18:12:28 ******/
9036SET ANSI_NULLS ON
9037GO
9038SET QUOTED_IDENTIFIER ON
9039GO
9040
9041
9042CREATE PROC [dbo].[spGetClanRankingMaxPage]
9043AS
9044SET NOCOUNT ON
9045BEGIN
9046 DECLARE @MaxPage INT
9047 SELECT TOP 1 @MaxPage = Ranking / 20 + 1 FROM Clan(NOLOCK) WHERE DeleteFlag=0 AND Ranking>0 ORDER BY Ranking DESC
9048-- SELECT @MaxPage
9049 RETURN @MaxPage
9050END
9051
9052
9053
9054
9055
9056
9057GO
9058/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
9059SET ANSI_NULLS ON
9060GO
9061SET QUOTED_IDENTIFIER OFF
9062GO
9063
9064
9065CREATE PROC [dbo].[spGetClanRankingSearchByName]
9066 @Name VARCHAR(24)
9067AS
9068SET NOCOUNT ON
9069BEGIN
9070 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9071 WHERE DeleteFlag=0 AND Ranking>0 AND Name=@Name ORDER BY Ranking
9072END
9073
9074
9075
9076
9077
9078
9079GO
9080/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByRanking] Script Date: 28-05-2018 18:12:28 ******/
9081SET ANSI_NULLS ON
9082GO
9083SET QUOTED_IDENTIFIER ON
9084GO
9085
9086
9087/* í´ëžœ ëží‚¹ì°¾ê¸° (순위로)
9088 Arg1 : @Ranking (순위) */
9089CREATE PROC [dbo].[spGetClanRankingSearchByRanking]
9090 @Ranking INT
9091AS
9092SET NOCOUNT ON
9093BEGIN
9094 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9095 WHERE DeleteFlag=0 AND Ranking>0 AND Ranking=@Ranking ORDER BY Ranking
9096END
9097
9098
9099
9100
9101
9102
9103GO
9104/****** Object: StoredProcedure [dbo].[spGetCLIDFromClanName] Script Date: 28-05-2018 18:12:28 ******/
9105SET ANSI_NULLS ON
9106GO
9107SET QUOTED_IDENTIFIER ON
9108GO
9109
9110
9111
9112-- í´ëžœì´ë¦„으로 CLID알아오기
9113CREATE PROC [dbo].[spGetCLIDFromClanName]
9114 @ClanName varchar(24)
9115AS
9116 SET NOCOUNT ON
9117 SELECT CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
9118
9119
9120
9121
9122
9123GO
9124/****** Object: StoredProcedure [dbo].[spGetFriendList] Script Date: 28-05-2018 18:12:28 ******/
9125SET ANSI_NULLS ON
9126GO
9127SET QUOTED_IDENTIFIER ON
9128GO
9129
9130
9131-- 친구 ëª©ë¡ ê°€ì ¸ì˜¤ê¸°
9132CREATE PROC [dbo].[spGetFriendList]
9133 @CID int
9134AS
9135SET NOCOUNT ON
9136SELECT f.FriendCID, f.Favorite, c.Name
9137FROM Friend f(NOLOCK), Character c(NOLOCK)
9138WHERE f.CID=@CID AND f.FriendCID=c.CID AND f.DeleteFlag=0 AND f.Type=1
9139
9140
9141
9142
9143
9144GO
9145/****** Object: StoredProcedure [dbo].[spGetHourMaxPlayerCount] Script Date: 28-05-2018 18:12:28 ******/
9146SET ANSI_NULLS ON
9147GO
9148SET QUOTED_IDENTIFIER ON
9149GO
9150
9151CREATE proc [dbo].[spGetHourMaxPlayerCount]
9152 @begin smalldatetime
9153, @end smalldatetime
9154as
9155 set nocount on
9156
9157 if 0 <> datediff(dd, @begin, @end) return
9158
9159 select t.hour, max(t.playercount) as maxplayercount
9160 from
9161 (
9162 select datepart(hh, time) as hour, sum(playercount) as playercount
9163 from logdb.game.serverlogstorage(nolock)
9164 where time >= @begin and time <= @end
9165 group by time
9166 ) as t
9167 group by t.hour
9168 order by t.hour
9169
9170
9171
9172
9173GO
9174/****** Object: StoredProcedure [dbo].[spGetIPCountryCode] Script Date: 28-05-2018 18:12:28 ******/
9175SET ANSI_NULLS ON
9176GO
9177SET QUOTED_IDENTIFIER ON
9178GO
9179
9180CREATE PROC [dbo].[spGetIPCountryCode]
9181 @IP char(15)
9182AS
9183 SET NOCOUNT ON
9184
9185 DECLARE @IPNumber BIGINT
9186 SET @IPNumber = GunzDB.game.inet_aton(@IP)
9187
9188 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
9189 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9190
9191
9192
9193
9194
9195GO
9196/****** Object: StoredProcedure [dbo].[spGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
9197SET ANSI_NULLS ON
9198GO
9199SET QUOTED_IDENTIFIER OFF
9200GO
9201
9202CREATE PROCEDURE [dbo].[spGetIPtoCountry]
9203@IP VARCHAR(15),
9204@Code VARCHAR(3) OUTPUT
9205AS
9206BEGIN
9207 DECLARE @IPNumber BIGINT
9208 SELECT @IPNumber=GunzDB.game.inet_aton(@IP)
9209
9210 SELECT @Code=CountryCode3 FROM IPtoCountry(NOLOCK)
9211 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9212END
9213
9214
9215
9216
9217
9218
9219GO
9220/****** Object: StoredProcedure [dbo].[spGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
9221SET ANSI_NULLS ON
9222GO
9223SET QUOTED_IDENTIFIER ON
9224GO
9225
9226CREATE PROC [dbo].[spGetIPtoCountryList]
9227AS
9228 SELECT IPFrom, IPTo, CountryCode3
9229 FROM IPtoCountry(NOLOCK)
9230 ORDER BY IPFrom
9231
9232
9233
9234
9235GO
9236/****** Object: StoredProcedure [dbo].[spGetLadderTeamMemberByCID] Script Date: 28-05-2018 18:12:28 ******/
9237SET ANSI_NULLS ON
9238GO
9239SET QUOTED_IDENTIFIER ON
9240GO
9241
9242
9243-- 팀멤버 얻어오기
9244CREATE PROC [dbo].[spGetLadderTeamMemberByCID]
9245 @CID int
9246AS
9247RETURN
9248
9249
9250
9251
9252
9253GO
9254/****** Object: StoredProcedure [dbo].[spGetLoginInfo] Script Date: 28-05-2018 18:12:28 ******/
9255SET ANSI_NULLS ON
9256GO
9257SET QUOTED_IDENTIFIER ON
9258GO
9259
9260
9261/* LoginInfo 얻어옴 */
9262CREATE PROC [dbo].[spGetLoginInfo]
9263 @UserID varchar(20)
9264AS
9265SET NOCOUNT ON
9266SELECT AID, UserID, PasswordData FROM Login(nolock) WHERE UserID = @UserID
9267
9268
9269
9270
9271
9272
9273
9274GO
9275/****** Object: StoredProcedure [dbo].[spGetNewCashItem] Script Date: 28-05-2018 18:12:28 ******/
9276SET ANSI_NULLS ON
9277GO
9278SET QUOTED_IDENTIFIER ON
9279GO
9280
9281
9282CREATE PROC [dbo].[spGetNewCashItem]
9283 @ItemCount int = 0
9284AS
9285SET NoCount On
9286
9287IF @ItemCount != 0
9288BEGIN
9289 SET ROWCOUNT @ItemCount
9290END
9291
9292 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
9293 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
9294 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
9295 i.Description AS Description, cs.RentType AS RentType
9296 FROM CashShop cs (nolock) , Item i (nolock)
9297 WHERE i.ItemID = cs.ItemID AND cs.NewItemOrder > 0 AND Opened=1
9298 order by cs.NewItemOrder asc
9299
9300
9301
9302
9303
9304
9305GO
9306/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9307SET ANSI_NULLS ON
9308GO
9309SET QUOTED_IDENTIFIER ON
9310GO
9311
9312
9313-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 보기
9314CREATE PROC [dbo].[spGetRentCashSetShopPrice]
9315 @CSSID int
9316AS
9317 SET NOCOUNT ON
9318 SELECT RentHourPeriod, CashPrice
9319 FROM RentCashSetShopPrice(nolock) WHERE CSSID = @CSSID
9320 ORDER BY CashPrice
9321
9322
9323
9324
9325
9326
9327GO
9328/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9329SET ANSI_NULLS ON
9330GO
9331SET QUOTED_IDENTIFIER ON
9332GO
9333
9334
9335CREATE PROC [dbo].[spGetRentCashSetShopPriceByHour]
9336 @CSSID int
9337, @RentHourPeriod smallint
9338AS
9339 SET NOCOUNT ON
9340 IF @RentHourPeriod IS NOT NULL
9341 BEGIN
9342 -- ê¸°ê°„ì œ ì•„ì´í…œ
9343 SELECT CashPrice
9344 FROM RentCashSetShopPrice(nolock)
9345 WHERE CSSID = @CSSID AND RentHourPeriod = @RentHourPeriod
9346 END
9347 ELSE IF @RentHourPeriod IS NULL
9348 BEGIN
9349 -- ì˜êµ¬ ì•„ì´í…œ.
9350 SELECT CashPrice
9351 FROM RentCashSetShopPrice(nolock)
9352 WHERE CSSID = @CSSID AND RentHourPeriod IS NULL
9353 END
9354
9355
9356
9357
9358
9359
9360GO
9361/****** Object: StoredProcedure [dbo].[spGetRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9362SET ANSI_NULLS ON
9363GO
9364SET QUOTED_IDENTIFIER ON
9365GO
9366
9367
9368-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 보기
9369CREATE PROC [dbo].[spGetRentCashShopPrice]
9370 @CSID int
9371AS
9372 SET NOCOUNT ON
9373 SELECT RentHourPeriod, CashPrice
9374 FROM RentCashShopPrice(nolock) WHERE CSID = @CSID
9375 ORDER BY CashPrice
9376
9377
9378
9379
9380
9381
9382GO
9383/****** Object: StoredProcedure [dbo].[spGetRentCashShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9384SET ANSI_NULLS ON
9385GO
9386SET QUOTED_IDENTIFIER ON
9387GO
9388
9389
9390CREATE PROC [dbo].[spGetRentCashShopPriceByHour]
9391 @CSID int
9392, @RentHourPeriod smallint
9393AS
9394 SET NOCOUNT ON
9395 IF @RentHourPeriod IS NOT NULL
9396 BEGIN
9397 -- ê¸°ê°„ì œ ì•„ì´í…œ
9398 SELECT CashPrice
9399 FROM RentCashShopPrice (nolock)
9400 WHERE CSID = @CSID AND RentHourPeriod = @RentHourPeriod
9401 END
9402 ELSE IF @RentHourPeriod IS NULL
9403 BEGIN
9404 -- ì˜êµ¬ ì•„ì´í…œ
9405 SELECT CashPrice
9406 FROM RentCashShopPrice (nolock)
9407 WHERE CSID = @CSID AND RentHourPeriod IS NULL
9408 END
9409
9410
9411
9412
9413
9414
9415
9416
9417GO
9418/****** Object: StoredProcedure [dbo].[spGetSexInfo] Script Date: 28-05-2018 18:12:28 ******/
9419SET ANSI_NULLS ON
9420GO
9421SET QUOTED_IDENTIFIER ON
9422GO
9423
9424
9425CREATE PROC [dbo].[spGetSexInfo]
9426 @AID int
9427AS
9428SET NOCOUNT ON
9429SELECT Sex, RegNum, Email FROM Account WHERE AID=@AID
9430
9431
9432
9433
9434
9435GO
9436/****** Object: StoredProcedure [dbo].[spGetTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
9437SET ANSI_NULLS ON
9438GO
9439SET QUOTED_IDENTIFIER ON
9440GO
9441
9442
9443
9444/* ì „ì²´ ëží‚¹ 보기 */
9445CREATE PROC [dbo].[spGetTotalRanking]
9446 @MinRank int,
9447 @MaxRank int
9448AS
9449SET NOCOUNT ON
9450
9451SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount FROM TotalRanking(nolock)
9452WHERE Rank BETWEEN @MinRank AND @MaxRank
9453ORDER BY Rank
9454
9455
9456
9457
9458
9459
9460GO
9461/****** Object: StoredProcedure [dbo].[spInsertChar] Script Date: 28-05-2018 18:12:28 ******/
9462SET ANSI_NULLS ON
9463GO
9464SET QUOTED_IDENTIFIER ON
9465GO
9466
9467
9468/* ìºë¦í„° 추가 */
9469CREATE PROC [dbo].[spInsertChar]
9470 @AID int,
9471 @CharNum smallint,
9472 @Name varchar(24),
9473 @Sex tinyint,
9474 @Hair int,
9475 @Face int,
9476 @Costume int
9477AS
9478SET NOCOUNT ON
9479BEGIN TRAN
9480IF EXISTS (SELECT CID FROM Character where (AID=@AID AND CharNum=@CharNum) OR (Name=@Name))
9481BEGIN
9482 ROLLBACK TRAN
9483 return(-1)
9484END
9485
9486DECLARE @CharIdent int
9487DECLARE @ChestCIID int
9488DECLARE @LegsCIID int
9489DECLARE @MeleeCIID int
9490DECLARE @PrimaryCIID int
9491DECLARE @SecondaryCIID int
9492DECLARE @Custom1CIID int
9493DECLARE @Custom2CIID int
9494
9495DECLARE @ChestItemID int
9496DECLARE @LegsItemID int
9497DECLARE @MeleeItemID int
9498DECLARE @PrimaryItemID int
9499DECLARE @SecondaryItemID int
9500DECLARE @Custom1ItemID int
9501DECLARE @Custom2ItemID int
9502
9503SET @SecondaryCIID = NULL
9504SET @SecondaryItemID = NULL
9505
9506SET @Custom1CIID = NULL
9507SET @Custom1ItemID = NULL
9508
9509SET @Custom2CIID = NULL
9510SET @Custom2ItemID = NULL
9511
9512INSERT INTO Character (AID, Name, CharNum, Level, Sex, Hair, Face, XP, BP, FR, CR, ER, WR,
9513 GameCount, KillCount, DeathCount, RegDate, PlayTime, DeleteFlag)
9514Values (@AID, @Name, @CharNum, 1, @Sex, @Hair, @Face, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), 0, 0)
9515IF 0 <> @@ERROR BEGIN
9516 ROLLBACK TRAN
9517 RETURN (-1)
9518END
9519
9520
9521SET @CharIdent = @@IDENTITY
9522
9523 /* Melee */
9524 SET @MeleeItemID =
9525 CASE @Costume
9526 WHEN 0 THEN 1
9527 WHEN 1 THEN 2
9528 WHEN 2 THEN 1
9529 WHEN 3 THEN 2
9530 WHEN 4 THEN 2
9531 WHEN 5 THEN 1
9532 END
9533
9534 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @MeleeItemID)
9535 IF 0 <> @@ERROR BEGIN
9536 ROLLBACK TRAN
9537 RETURN (-1)
9538 END
9539
9540 SET @MeleeCIID = @@IDENTITY
9541
9542 /* Primary */
9543 SET @PrimaryItemID =
9544 CASE @Costume
9545 WHEN 0 THEN 5001
9546 WHEN 1 THEN 5002
9547 WHEN 2 THEN 4005
9548 WHEN 3 THEN 4001
9549 WHEN 4 THEN 4002
9550 WHEN 5 THEN 4006
9551 END
9552
9553 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @PrimaryItemID)
9554 IF 0 <> @@ERROR BEGIN
9555 ROLLBACK TRAN
9556 RETURN (-1)
9557 END
9558
9559 SET @PrimaryCIID = @@IDENTITY
9560
9561 /* Secondary */
9562IF @Costume = 0 OR @Costume = 2 BEGIN
9563 SET @SecondaryItemID =
9564 CASE @Costume
9565 WHEN 0 THEN 4001
9566 WHEN 1 THEN 0
9567 WHEN 2 THEN 5001
9568 WHEN 3 THEN 4006
9569 WHEN 4 THEN 0
9570 WHEN 5 THEN 4006
9571 END
9572
9573 IF @SecondaryItemID <> 0 BEGIN
9574 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @SecondaryItemID)
9575 IF 0 <> @@ERROR BEGIN
9576 ROLLBACK TRAN
9577 RETURN (-1)
9578 END
9579
9580 SET @SecondaryCIID = @@IDENTITY
9581 END
9582END
9583 SET @Custom1ItemID =
9584 CASE @Costume
9585 WHEN 0 THEN 30301
9586 WHEN 1 THEN 30301
9587 WHEN 2 THEN 30401
9588 WHEN 3 THEN 30401
9589 WHEN 4 THEN 30401
9590 WHEN 5 THEN 30101
9591 END
9592
9593 /* Custom1 */
9594 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom1ItemID)
9595 IF 0 <> @@ERROR BEGIN
9596 ROLLBACK TRAN
9597 RETURN (-1)
9598 END
9599
9600 SET @Custom1CIID = @@IDENTITY
9601
9602 /* Custom2 */
9603IF @Costume = 4 OR @Costume = 5
9604BEGIN
9605 SET @Custom2ItemID =
9606 CASE @Costume
9607 WHEN 0 THEN 0
9608 WHEN 1 THEN 0
9609 WHEN 2 THEN 0
9610 WHEN 3 THEN 0
9611 WHEN 4 THEN 30001
9612 WHEN 5 THEN 30001
9613 END
9614
9615 IF @Custom2ItemID <> 0
9616 BEGIN
9617 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom2ItemID)
9618 IF 0 <> @@ERROR BEGIN
9619 ROLLBACK TRAN
9620 RETURN (-1)
9621 END
9622
9623 SET @Custom2CIID = @@IDENTITY
9624 END
9625END
9626
9627
9628IF @Sex = 0 /* 남ìžì¼ 경우 */
9629BEGIN
9630
9631 /* Chest */
9632 SET @ChestItemID =
9633 CASE @Costume
9634 WHEN 0 THEN 21001
9635 WHEN 1 THEN 21001
9636 WHEN 2 THEN 21001
9637 WHEN 3 THEN 21001
9638 WHEN 4 THEN 21001
9639 WHEN 5 THEN 21001
9640 END
9641
9642
9643 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9644 IF 0 <> @@ERROR BEGIN
9645 ROLLBACK TRAN
9646 RETURN (-1)
9647 END
9648
9649 SET @ChestCIID = @@IDENTITY
9650
9651 /* Legs */
9652 SET @LegsItemID =
9653 CASE @Costume
9654 WHEN 0 THEN 23001
9655 WHEN 1 THEN 23001
9656 WHEN 2 THEN 23001
9657 WHEN 3 THEN 23001
9658 WHEN 4 THEN 23001
9659 WHEN 5 THEN 23001
9660 END
9661
9662
9663 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9664 IF 0 <> @@ERROR BEGIN
9665 ROLLBACK TRAN
9666 RETURN (-1)
9667 END
9668
9669 SET @LegsCIID = @@IDENTITY
9670
9671END
9672ELSE
9673BEGIN /* ì—¬ìžì¼ 경우 */
9674
9675 /* Chest */
9676 SET @ChestItemID =
9677 CASE @Costume
9678 WHEN 0 THEN 21501
9679 WHEN 1 THEN 21501
9680 WHEN 2 THEN 21501
9681 WHEN 3 THEN 21501
9682 WHEN 4 THEN 21501
9683 WHEN 5 THEN 21501
9684 END
9685
9686
9687 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9688 IF 0 <> @@ERROR BEGIN
9689 ROLLBACK TRAN
9690 RETURN (-1)
9691 END
9692 SET @ChestCIID = @@IDENTITY
9693
9694 /* Legs */
9695 SET @LegsItemID =
9696 CASE @Costume
9697 WHEN 0 THEN 23501
9698 WHEN 1 THEN 23501
9699 WHEN 2 THEN 23501
9700 WHEN 3 THEN 23501
9701 WHEN 4 THEN 23501
9702 WHEN 5 THEN 23501
9703 END
9704
9705
9706 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9707 IF 0 <> @@ERROR BEGIN
9708 ROLLBACK TRAN
9709 RETURN (-1)
9710 END
9711 SET @LegsCIID = @@IDENTITY
9712
9713END
9714
9715UPDATE Character
9716SET chest_slot = @ChestCIID, legs_slot = @LegsCIID, melee_slot = @MeleeCIID,
9717 primary_slot = @PrimaryCIID, secondary_slot = @SecondaryCIID, custom1_slot = @Custom1CIID,
9718 custom2_slot = @Custom2CIID,
9719 chest_itemid = @ChestItemID, legs_itemid = @LegsItemID, melee_itemid = @MeleeItemID,
9720 primary_itemid = @PrimaryItemID, secondary_itemid = @SecondaryItemID, custom1_itemid = @Custom1ItemID,
9721 custom2_itemid = @Custom2ItemID
9722WHERE CID=@CharIdent
9723IF 0 = @@ROWCOUNT BEGIN
9724 ROLLBACK TRAN
9725 RETURN (-1)
9726END
9727COMMIT TRAN
9728
9729
9730
9731
9732
9733
9734GO
9735/****** Object: StoredProcedure [dbo].[spInsertCharItem] Script Date: 28-05-2018 18:12:28 ******/
9736SET ANSI_NULLS ON
9737GO
9738SET QUOTED_IDENTIFIER ON
9739GO
9740
9741
9742/* ìºë¦í„° ì•„ì´í…œ 추가 - 땜빵 */
9743CREATE PROC [dbo].[spInsertCharItem]
9744 @CID int,
9745 @ItemID int
9746AS
9747SET NOCOUNT ON
9748
9749DECLARE @OrderCIID int
9750DECLARE @varBP int
9751-- 땜빵
9752SELECT @varBP = BP FROM Character where CID=@CID
9753IF @varBP < 0
9754BEGIN
9755 UPDATE Character SET BP=0 WHERE CID=@CID
9756 RETURN (-1)
9757END
9758
9759
9760BEGIN TRAN
9761INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
9762IF 0 <> @@ERROR BEGIN
9763 ROLLBACK TRAN
9764 RETURN (-1)
9765END
9766COMMIT TRAN
9767
9768SET @OrderCIID = @@IDENTITY
9769SELECT @OrderCIID as ORDERCIID
9770
9771
9772
9773
9774
9775
9776
9777GO
9778/****** Object: StoredProcedure [dbo].[spInsertCharMakingLog] Script Date: 28-05-2018 18:12:28 ******/
9779SET ANSI_NULLS ON
9780GO
9781SET QUOTED_IDENTIFIER ON
9782GO
9783
9784
9785
9786/* ìºë¦í„° ìƒì„± 로그 */
9787CREATE PROC [dbo].[spInsertCharMakingLog]
9788 @AID int,
9789 @CharName varchar(32),
9790 @Type varchar(20)
9791AS
9792SET NOCOUNT ON
9793BEGIN TRAN
9794INSERT INTO CharacterMakingLog (AID, CharName, Type, Date)
9795VALUES (@AID, @CharName, @Type, GETDATE())
9796IF 0 <> @@ERROR BEGIN
9797 ROLLBACK TRAN
9798 RETURN
9799END
9800COMMIT TRAN
9801
9802
9803
9804
9805
9806GO
9807/****** Object: StoredProcedure [dbo].[spInsertConnLog] Script Date: 28-05-2018 18:12:28 ******/
9808SET ANSI_NULLS ON
9809GO
9810SET QUOTED_IDENTIFIER OFF
9811GO
9812
9813CREATE PROC [dbo].[spInsertConnLog]
9814 @AID int
9815, @IPPart1 tinyint
9816, @IPPart2 tinyint
9817, @IPPart3 tinyint
9818, @IPPart4 tinyint
9819, @CountryCode3 char(3)
9820AS
9821 SET NOCOUNT ON
9822 INSERT INTO LogDB.game.ConnLog( AID, Time, IPPart1, IPPart2, IPPart3, IPPart4, CountryCode3)
9823 VALUES (@AID, GETDATE(), @IPPart1, @IPPart2, @IPPart3, @IPPart4, @CountryCode3)
9824
9825
9826
9827
9828GO
9829/****** Object: StoredProcedure [dbo].[spInsertEvent] Script Date: 28-05-2018 18:12:28 ******/
9830SET ANSI_NULLS ON
9831GO
9832SET QUOTED_IDENTIFIER ON
9833GO
9834
9835CREATE PROC [dbo].[spInsertEvent]
9836 @AID int
9837, @CID int
9838, @EventName varchar(24)
9839AS
9840 SET NOCOUNT ON
9841 INSERT INTO Event( AID, CID, RegDate, Checked, EventName )
9842 VALUES (@AID, @CID, GETDATE(), 0, @EventName)
9843
9844
9845
9846
9847
9848GO
9849/****** Object: StoredProcedure [dbo].[spInsertGameLog] Script Date: 28-05-2018 18:12:28 ******/
9850SET ANSI_NULLS ON
9851GO
9852SET QUOTED_IDENTIFIER ON
9853GO
9854
9855
9856
9857/* 게임 로그 추가 */
9858CREATE PROC [dbo].[spInsertGameLog]
9859 @GameName varchar(64),
9860 @Map varchar(32),
9861 @GameType varchar(24),
9862 @Round int,
9863 @MasterCID int,
9864 @PlayerCount tinyint,
9865 @Players varchar(1000)
9866
9867AS
9868SET NOCOUNT ON
9869BEGIN TRAN
9870INSERT INTO GameLog (GameName, Map, GameType, Round, MasterCID, StartTime, PlayerCount, Players)
9871VALUES (@GameName, @Map, @GameType, @Round, @MasterCID, GETDATE(), @PlayerCount, @Players)
9872IF 0 <> @@ERROR BEGIN
9873 ROLLBACK TRAN
9874 RETURN
9875END
9876COMMIT TRAN
9877
9878
9879
9880
9881
9882GO
9883/****** Object: StoredProcedure [dbo].[spInsertItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
9884SET ANSI_NULLS ON
9885GO
9886SET QUOTED_IDENTIFIER ON
9887GO
9888
9889
9890
9891/* ì•„ì´í…œ 구매(바운티) 로그 */
9892CREATE PROC [dbo].[spInsertItemPurchaseLogByBounty]
9893 @ItemID int,
9894 @CID int,
9895 @Bounty int,
9896 @CharBounty int,
9897 @Type varchar(20)
9898AS
9899SET NOCOUNT ON
9900INSERT INTO ItemPurchaseLogByBounty
9901 (ItemID, CID, Date, Bounty, CharBounty, Type)
9902VALUES
9903 (@ItemID, @CID, GETDATE(), @Bounty, @CharBounty, @Type)
9904
9905
9906
9907
9908
9909GO
9910/****** Object: StoredProcedure [dbo].[spInsertKillLog] Script Date: 28-05-2018 18:12:28 ******/
9911SET ANSI_NULLS ON
9912GO
9913SET QUOTED_IDENTIFIER ON
9914GO
9915
9916
9917
9918/* 킬 로그 추가 */
9919CREATE PROC [dbo].[spInsertKillLog]
9920 @AttackerCID int,
9921 @VictimCID int
9922AS
9923SET NOCOUNT ON
9924BEGIN TRAN
9925INSERT INTO KillLog (AttackerCID, VictimCID, Time)
9926VALUES (@AttackerCID, @VictimCID, GETDATE())
9927IF 0 <> @@ERROR BEGIN
9928 ROLLBACK TRAN
9929 RETURN
9930END
9931COMMIT TRAN
9932
9933
9934
9935
9936
9937GO
9938/****** Object: StoredProcedure [dbo].[spInsertLevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
9939SET ANSI_NULLS ON
9940GO
9941SET QUOTED_IDENTIFIER ON
9942GO
9943
9944
9945
9946
9947-- ë ˆë²¨ì—… 로그 추가
9948CREATE PROC [dbo].[spInsertLevelUpLog]
9949 @CID int,
9950 @Level smallint,
9951 @BP int,
9952 @KillCount int,
9953 @DeathCount int,
9954 @PlayTime int
9955AS
9956SET NOCOUNT ON
9957BEGIN TRAN
9958 INSERT INTO LevelUpLog(CID, Level, BP, KillCount, DeathCount, PlayTime, Date)
9959 VALUES (@CID, @Level, @BP, @KillCount, @DeathCount, @PlayTime, GETDATE())
9960 IF 0 <> @@ERROR BEGIN
9961 ROLLBACK TRAN
9962 RETURN
9963 END
9964COMMIT TRAN
9965
9966
9967
9968
9969
9970GO
9971/****** Object: StoredProcedure [dbo].[spInsertLocatorLog] Script Date: 28-05-2018 18:12:28 ******/
9972SET ANSI_NULLS ON
9973GO
9974SET QUOTED_IDENTIFIER ON
9975GO
9976
9977CREATE PROC [dbo].[spInsertLocatorLog]
9978 @LocatorID int
9979, @CountryCode3 varchar(3)
9980, @Count int
9981AS
9982 SET NOCOUNT ON
9983 INSERT INTO LogDB.game.LocatorLog(LocatorID, CountryCode3, Count, RegDate)
9984 VALUES (@LocatorID, @CountryCode3, @Count, GETDATE())
9985
9986
9987
9988
9989
9990GO
9991/****** Object: StoredProcedure [dbo].[spInsertPlayerLog] Script Date: 28-05-2018 18:12:28 ******/
9992SET ANSI_NULLS ON
9993GO
9994SET QUOTED_IDENTIFIER ON
9995GO
9996
9997
9998/* í”Œë ˆì´ì–´ 로그 */
9999CREATE PROC [dbo].[spInsertPlayerLog]
10000 @CID int,
10001 @PlayTime int,
10002 @Kills int,
10003 @Deaths int,
10004 @XP int,
10005 @TotalXP int
10006AS
10007SET NOCOUNT ON
10008BEGIN TRAN
10009INSERT INTO PlayerLog (CID, DisTime, PlayTime, Kills, Deaths, XP, TotalXP)
10010VALUES (@CID, GETDATE(), @PlayTime, @Kills, @Deaths, @XP, @TotalXP)
10011IF 0 <> @@ERROR BEGIN
10012 ROLLBACK TRAN
10013 RETURN
10014END
10015COMMIT TRAN
10016
10017
10018
10019
10020
10021GO
10022/****** Object: StoredProcedure [dbo].[spInsertQuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
10023SET ANSI_NULLS ON
10024GO
10025SET QUOTED_IDENTIFIER ON
10026GO
10027
10028
10029-- 퀘스트 게임 로그 ì •ë³´ ì €ìž¥ í”„ë¡œì‹œì ¸.
10030CREATE PROC [dbo].[spInsertQuestGameLog]
10031 @GameName varchar(64)
10032, @Master int
10033, @Player1 int
10034, @Player2 int
10035, @Player3 int
10036, @TotalQItemCount smallint
10037, @ScenarioID smallint
10038, @GamePlayTime tinyint
10039AS
10040SET NOCOUNT ON
10041
10042BEGIN TRAN
10043 INSERT INTO QuestGameLog(GameName, Master, Player1, Player2, Player3, TotalQItemCount, ScenarioID, StartTime, EndTime)
10044 VALUES (@GameName, @Master, @Player1, @Player2, @Player3, @TotalQItemCount, @ScenarioID, DATEADD(n, -(@GamePlayTime), GETDATE()), GETDATE() )
10045 IF 0 <> @@ERROR BEGIN -- 여기 추가.
10046 ROLLBACK TRAN
10047 RETURN
10048 END
10049
10050 SELECT @@IDENTITY AS 'ORDERQGLID'
10051COMMIT TRAN
10052
10053
10054
10055
10056
10057
10058GO
10059/****** Object: StoredProcedure [dbo].[spInsertQUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
10060SET ANSI_NULLS ON
10061GO
10062SET QUOTED_IDENTIFIER ON
10063GO
10064
10065
10066-- 퀘스트 ìœ ë‹ˆí¬ ì•„ì´í…œ ì €ìž¥ í”„ë¡œì‹œì ¸.
10067CREATE PROC [dbo].[spInsertQUniqueItemLog]
10068 @QGLID int
10069, @CID int
10070, @QIID int
10071AS
10072BEGIN
10073 SET NOCOUNT ON
10074 INSERT INTO QUniqueItemLog(QGLID, CID, QIID) VALUES (@QGLID, @CID, @QIID)
10075END
10076
10077
10078
10079
10080
10081
10082GO
10083/****** Object: StoredProcedure [dbo].[spInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10084SET ANSI_NULLS ON
10085GO
10086SET QUOTED_IDENTIFIER ON
10087GO
10088
10089
10090-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10091CREATE PROC [dbo].[spInsertRentCashSetShopPrice]
10092 @CSSID int,
10093 @RentHourPeriod smallint,
10094 @CashPrice int
10095AS
10096 SET NOCOUNT ON
10097 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
10098 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
10099
10100
10101
10102
10103
10104GO
10105/****** Object: StoredProcedure [dbo].[spInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10106SET ANSI_NULLS ON
10107GO
10108SET QUOTED_IDENTIFIER ON
10109GO
10110
10111
10112-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10113CREATE PROC [dbo].[spInsertRentCashShopPrice]
10114 @CSID int
10115, @RentHourPeriod smallint
10116, @CashPrice int
10117AS
10118 SET NOCOUNT ON
10119 INSERT INTO RentCashShopPrice (CSID, RentHourPeriod, CashPrice)
10120 VALUES (@CSID, @RentHourPeriod, @CashPrice)
10121
10122
10123
10124
10125
10126GO
10127/****** Object: StoredProcedure [dbo].[spInsertServerLog] Script Date: 28-05-2018 18:12:28 ******/
10128SET ANSI_NULLS ON
10129GO
10130SET QUOTED_IDENTIFIER OFF
10131GO
10132
10133CREATE PROC [dbo].[spInsertServerLog]
10134 @ServerID smallint
10135, @PlayerCount smallint
10136, @GameCount smallint
10137, @BlockCount int
10138, @NonBlockCount int
10139AS
10140 SET NOCOUNT ON
10141 INSERT INTO ServerLog(ServerID, PlayerCount,
10142 GameCount, Time, BlockCount, NonBlockCount)
10143 VALUES (@ServerID, @PlayerCount, @GameCount,
10144 GETDATE(), @BlockCount, @NonBlockCount )
10145
10146
10147
10148
10149GO
10150/****** Object: StoredProcedure [dbo].[spIPFltCheckIsDuplicateRange] Script Date: 28-05-2018 18:12:28 ******/
10151SET ANSI_NULLS ON
10152GO
10153SET QUOTED_IDENTIFIER OFF
10154GO
10155
10156CREATE PROC [dbo].[spIPFltCheckIsDuplicateRange]
10157 @IPFrom bigint
10158, @IPTo bigint
10159, @Ret int OUTPUT
10160AS
10161 SET NOCOUNT ON
10162 IF EXISTS (SELECT CountryCode3 FROM CustomIP(NOLOCK)
10163 WHERE (IPFrom <= @IPFrom AND IPTo >= @IPFrom) OR
10164 (IPFrom <= @IPTo AND IPTo >= @IPTo)) SET @Ret = 1
10165 ELSE SET @Ret = 0
10166
10167
10168
10169
10170GO
10171/****** Object: StoredProcedure [dbo].[spIPFltDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10172SET ANSI_NULLS ON
10173GO
10174SET QUOTED_IDENTIFIER OFF
10175GO
10176
10177CREATE PROC [dbo].[spIPFltDeleteCustomIP]
10178 @IPFrom varchar(15)
10179, @IPTo varchar(15)
10180, @Ret int OUTPUT
10181AS
10182 SET NOCOUNT ON
10183 DECLARE @TmpIPFrom BIGINT
10184 DECLARE @TmpIPTo BIGINT
10185
10186 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
10187 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
10188 IF @TmpIPFrom > @TmpIPTo BEGIN
10189 SET @Ret = 0
10190 RETURN @Ret
10191 END
10192
10193 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10194 IF 0 <> @@ERROR SET @Ret = 0
10195 ELSE SET @Ret = 1
10196 RETURN @Ret
10197
10198
10199
10200
10201GO
10202/****** Object: StoredProcedure [dbo].[spIPFltGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
10203SET ANSI_NULLS ON
10204GO
10205SET QUOTED_IDENTIFIER OFF
10206GO
10207
10208CREATE PROC [dbo].[spIPFltGetBlockCountryCodeList]
10209AS
10210 SET NOCOUNT ON
10211 SELECT CountryCode3, RoutingURL, IsBlock
10212 FROM BlockCountryCode(NOLOCK)
10213 ORDER BY CountryCode3
10214
10215
10216
10217
10218GO
10219/****** Object: StoredProcedure [dbo].[spIPFltGetCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10220SET ANSI_NULLS ON
10221GO
10222SET QUOTED_IDENTIFIER OFF
10223GO
10224
10225CREATE PROC [dbo].[spIPFltGetCountryCode]
10226AS
10227 SET NOCOUNT ON
10228 SELECT CountryCode3, CountryName
10229 FROM CountryCode(NOLOCK)
10230 ORDER BY CountryCode3 ASC
10231
10232
10233
10234
10235GO
10236/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10237SET ANSI_NULLS ON
10238GO
10239SET QUOTED_IDENTIFIER OFF
10240GO
10241
10242CREATE PROC [dbo].[spIPFltGetCustomIP]
10243 @IP varchar(15)
10244AS
10245 SET NOCOUNT ON
10246 DECLARE @TmpIP bigint
10247
10248 SET @TmpIP = GunzDB.game.inet_aton( @IP )
10249
10250 SELECT IPFrom, IPTo, IsBlock, Comment, RegDate
10251 FROM CustomIP(NOLOCK)
10252 WHERE IPFrom <= @TmpIP AND IPTo >= @TmpIP
10253
10254
10255
10256
10257GO
10258/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIPList] Script Date: 28-05-2018 18:12:28 ******/
10259SET ANSI_NULLS ON
10260GO
10261SET QUOTED_IDENTIFIER OFF
10262GO
10263
10264CREATE PROC [dbo].[spIPFltGetCustomIPList]
10265AS
10266 SET NOCOUNT ON
10267 SELECT IPFrom, IPTo, IsBlock, CountryCode3, Comment FROM CustomIP(NOLOCK)
10268 ORDER BY IPFrom
10269
10270
10271
10272
10273GO
10274/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
10275SET ANSI_NULLS ON
10276GO
10277SET QUOTED_IDENTIFIER OFF
10278GO
10279
10280CREATE PROC [dbo].[spIPFltGetIPtoCountry]
10281 @IP char(15)
10282AS
10283 SET NOCOUNT ON
10284 DECLARE @IPNumber BIGINT
10285 SET @IPNumber = GunzDB.game.inet_aton( @IP )
10286
10287 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
10288 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10289
10290
10291
10292
10293GO
10294/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10295SET ANSI_NULLS ON
10296GO
10297SET QUOTED_IDENTIFIER OFF
10298GO
10299
10300CREATE PROC [dbo].[spIPFltGetIPtoCountryCode]
10301 @IP char(15)
10302AS
10303 SET NOCOUNT ON
10304 DECLARE @IPNumber BIGINT
10305 SET @IPNumber = GunzDB.game.inet_aton( @IP )
10306
10307 SELECT CountryCode3 FROM IPtoCountry(NOLOCK)
10308 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10309
10310
10311
10312
10313GO
10314/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
10315SET ANSI_NULLS ON
10316GO
10317SET QUOTED_IDENTIFIER OFF
10318GO
10319
10320CREATE PROC [dbo].[spIPFltGetIPtoCountryList]
10321AS
10322 SET NOCOUNT ON
10323 SELECT IPFrom, IPTo, CountryCode3
10324 FROM IPtoCountry(NOLOCK)
10325 ORDER BY IPFrom
10326
10327
10328
10329
10330GO
10331/****** Object: StoredProcedure [dbo].[spIPFltInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10332SET ANSI_NULLS ON
10333GO
10334SET QUOTED_IDENTIFIER OFF
10335GO
10336
10337/*
10338 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10339 */
10340CREATE PROC [dbo].[spIPFltInsertCustomIP]
10341 @IPFrom varchar(15)
10342, @IPTo varchar(15)
10343, @IsBlock tinyint
10344, @CountryCode3 char(3)
10345, @Comment varchar(128)
10346, @Ret int OUTPUT
10347AS
10348 SET NOCOUNT ON
10349 DECLARE @DupRet int
10350 DECLARE @TmpIPFrom BIGINT
10351 DECLARE @TmpIPTo BIGINT
10352
10353 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
10354 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
10355 IF @TmpIPFrom > @TmpIPTo BEGIN
10356 SET @Ret = 3
10357 RETURN @Ret
10358 END
10359
10360 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
10361 IF 1 = @DupRet BEGIN
10362 SET @Ret = 2
10363 RETURN @Ret
10364 END
10365
10366 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
10367 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
10368 IF 0 <> @@ERROR SET @Ret = 0
10369 ELSE SET @Ret = 1
10370 RETURN @Ret
10371
10372
10373
10374
10375GO
10376/****** Object: StoredProcedure [dbo].[spIPFltUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10377SET ANSI_NULLS ON
10378GO
10379SET QUOTED_IDENTIFIER OFF
10380GO
10381
10382/*
10383 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10384 */
10385CREATE PROC [dbo].[spIPFltUpdateCustomIP]
10386 @IPFrom varchar(15)
10387, @IPTo varchar(15)
10388, @NewIPFrom varchar(15)
10389, @NewIPTo varchar(15)
10390, @IsBlock tinyint
10391, @CountryCode3 char(3)
10392, @Comment varchar(128)
10393, @Ret int OUTPUT
10394AS
10395 SET NOCOUNT ON
10396 DECLARE @DupRet bigint
10397 DECLARE @TmpIPFrom BIGINT
10398 DECLARE @TmpIPTo BIGINT
10399 DECLARE @TmpNewIPFrom bigint
10400 DECLARE @TmpNewIPTo bigint
10401
10402 SET @TmpIPFrom = GunzDB.game.inet_aton( @IPFrom )
10403 SET @TmpIPTo = GunzDB.game.inet_aton( @IPTo )
10404
10405 IF @TmpIPFrom > @TmpIPTo BEGIN
10406 SET @Ret = 3
10407 RETURN @Ret
10408 END
10409
10410 SET @TmpNewIPFrom = GunzDB.game.inet_aton( @NewIPFrom )
10411 SET @TmpNewIPTo = GunzDB.game.inet_aton( @NewIPTo )
10412
10413 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
10414 SET @Ret = 0
10415 RETURN @Ret
10416 END
10417
10418 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
10419 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
10420 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
10421 IF 1 = @DupRet BEGIN
10422 SET @Ret = 2
10423 RETURN @Ret
10424 END
10425 END
10426
10427 UPDATE CustomIP
10428 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
10429 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
10430 Comment = @Comment
10431 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10432 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
10433 ELSE SET @Ret = 1
10434 RETURN @Ret
10435
10436
10437
10438
10439GO
10440/****** Object: StoredProcedure [dbo].[spIsExistCharName] Script Date: 28-05-2018 18:12:28 ******/
10441SET ANSI_NULLS ON
10442GO
10443SET QUOTED_IDENTIFIER ON
10444GO
10445
10446
10447-- ìºë¦í„° ì´ë¦„ 중복 검사
10448CREATE PROC [dbo].[spIsExistCharName]
10449 @CharName varchar(24)
10450AS
10451SET NOCOUNT ON
10452IF EXISTS (SELECT TOP 1 CID FROM Character(nolock) where (Name=@CharName) AND (DeleteFlag=0))
10453BEGIN
10454 SELECT 1 AS Ret
10455END
10456ELSE
10457BEGIN
10458 SELECT 0 AS Ret
10459END
10460
10461
10462
10463
10464
10465GO
10466/****** Object: StoredProcedure [dbo].[spItemList] Script Date: 28-05-2018 18:12:28 ******/
10467SET ANSI_NULLS ON
10468GO
10469SET QUOTED_IDENTIFIER ON
10470GO
10471
10472create procedure [dbo].[spItemList]
10473 @ItemType int,
10474 @ResSex int,
10475 @ResLevel int,
10476 @ResText nvarchar(100),
10477
10478 @Page int,
10479 @PageSize int,
10480 @PageCount int output
10481AS
10482set NoCount On
10483
10484declare @Rows int
10485declare @ViewCount int
10486select @Rows = @Page * @PageSize
10487declare @PageHead INT
10488declare @RowCount INT
10489
10490
10491if @ItemType = -1 /* ITEMTYPE = -1 */
10492 begin
10493 if @ResSex = -1 /* ITEMTYPE = -1 RESSEX = -1 */
10494 begin
10495 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 */
10496 begin
10497 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10498 begin
10499 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10500 from CashShop cs(nolock), viewItem i(nolock)
10501 where i.ItemID = cs.ItemID and cs.Opened=1
10502
10503 select @RowCount = ((@Page -1) * @PageSize + 1)
10504 set rowcount @RowCount
10505 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10506 where cs.ItemID=i.ItemID and cs.Opened=1
10507 order by cs.csid desc
10508
10509 set rowcount @PageSize
10510 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10511 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10512 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10513 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10514 cs.RentType as RentType
10515 from CashShop cs(nolock), viewItem i(nolock)
10516 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10517 order by cs.csid desc
10518 end
10519 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10520 begin
10521 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10522 from CashShop cs(nolock), viewItem i(nolock)
10523 where i.ItemID = cs.ItemID and cs.Opened=1
10524 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
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 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10531 order by cs.csid desc
10532
10533 set rowcount @PageSize
10534 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10535 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10536 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10537 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10538 cs.RentType as RentType
10539 from CashShop cs(nolock), viewItem i(nolock)
10540 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10541 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10542 order by cs.csid desc
10543 end
10544 end
10545 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 */
10546 begin
10547 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10548 begin
10549 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10550 from CashShop cs(nolock), viewItem i(nolock)
10551 where i.ItemID = cs.ItemID and cs.Opened=1
10552 and i.ResLevel <= @ResLevel
10553
10554 select @RowCount = ((@Page -1) * @PageSize + 1)
10555 set rowcount @RowCount
10556 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10557 where cs.ItemID=i.ItemID and cs.Opened=1
10558 and i.ResLevel <= @ResLevel
10559 order by cs.csid desc
10560
10561 set rowcount @PageSize
10562 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10563 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10564 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10565 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10566 cs.RentType as RentType
10567 from CashShop cs(nolock), viewItem i(nolock)
10568 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10569 and i.ResLevel <= @ResLevel
10570 order by cs.csid desc
10571 end
10572 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10573 begin
10574 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10575 from CashShop cs(nolock), viewItem i(nolock)
10576 where i.ItemID = cs.ItemID and cs.Opened=1
10577 and i.ResLevel <= @ResLevel
10578 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10579
10580 select @RowCount = ((@Page -1) * @PageSize + 1)
10581 set rowcount @RowCount
10582 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10583 where cs.ItemID=i.ItemID and cs.Opened=1
10584 and i.ResLevel <= @ResLevel
10585 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10586 order by cs.csid desc
10587
10588 set rowcount @PageSize
10589 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10590 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10591 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10592 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10593 cs.RentType as RentType
10594 from CashShop cs(nolock), viewItem i(nolock)
10595 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10596 and i.ResLevel <= @ResLevel
10597 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10598 order by cs.csid desc
10599 end
10600 end
10601 end
10602 else /* ITEMTYPE = -1 RESSEX <> -1 */
10603 begin
10604 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 */
10605 begin
10606 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10607 begin
10608 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10609 from CashShop cs(nolock), viewItem i(nolock)
10610 where i.ItemID = cs.ItemID and cs.Opened=1
10611 and i.ResSex = @ResSex
10612
10613 select @RowCount = ((@Page -1) * @PageSize + 1)
10614 set rowcount @RowCount
10615 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10616 where cs.ItemID=i.ItemID and cs.Opened=1
10617 and i.ResSex = @ResSex
10618 order by cs.csid desc
10619
10620 set rowcount @PageSize
10621 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10622 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10623 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10624 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10625 cs.RentType as RentType
10626 from CashShop cs(nolock), viewItem i(nolock)
10627 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10628 and i.ResSex = @ResSex
10629 order by cs.csid desc
10630 end
10631 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10632 begin
10633 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10634 from CashShop cs(nolock), viewItem i(nolock)
10635 where i.ItemID = cs.ItemID and cs.Opened=1
10636 and i.ResSex = @ResSex
10637 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10638
10639 select @RowCount = ((@Page -1) * @PageSize + 1)
10640 set rowcount @RowCount
10641 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10642 where cs.ItemID=i.ItemID and cs.Opened=1
10643 and i.ResSex = @ResSex
10644 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10645 order by cs.csid desc
10646
10647 set rowcount @PageSize
10648 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10649 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10650 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10651 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10652 cs.RentType as RentType
10653 from CashShop cs(nolock), viewItem i(nolock)
10654 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10655 and i.ResSex = @ResSex
10656 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10657 order by cs.csid desc
10658 end
10659 end
10660 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 */
10661 begin
10662 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10663 begin
10664 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10665 from CashShop cs(nolock), viewItem i(nolock)
10666 where i.ItemID = cs.ItemID and cs.Opened=1
10667 and i.ResSex = @ResSex
10668 and i.ResLevel <= @ResLevel
10669
10670 select @RowCount = ((@Page -1) * @PageSize + 1)
10671 set rowcount @RowCount
10672 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10673 where cs.ItemID=i.ItemID and cs.Opened=1
10674 and i.ResSex = @ResSex
10675 and i.ResLevel <= @ResLevel
10676 order by cs.csid desc
10677
10678 set rowcount @PageSize
10679 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10680 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10681 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10682 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10683 cs.RentType as RentType
10684 from CashShop cs(nolock), viewItem i(nolock)
10685 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10686 and i.ResSex = @ResSex
10687 and i.ResLevel <= @ResLevel
10688 order by cs.csid desc
10689 end
10690 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10691 begin
10692 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10693 from CashShop cs(nolock), viewItem i(nolock)
10694 where i.ItemID = cs.ItemID and cs.Opened=1
10695 and i.ResSex = @ResSex
10696 and i.ResLevel <= @ResLevel
10697 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10698
10699 select @RowCount = ((@Page -1) * @PageSize + 1)
10700 set rowcount @RowCount
10701 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10702 where cs.ItemID=i.ItemID and cs.Opened=1
10703 and i.ResSex = @ResSex
10704 and i.ResLevel <= @ResLevel
10705 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10706 order by cs.csid desc
10707
10708 set rowcount @PageSize
10709 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10710 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10711 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10712 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10713 cs.RentType as RentType
10714 from CashShop cs(nolock), viewItem i(nolock)
10715 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10716 and i.ResSex = @ResSex
10717 and i.ResLevel <= @ResLevel
10718 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10719 order by cs.csid desc
10720 end
10721 end
10722 end
10723 end
10724else
10725 begin
10726 if @ResSex = -1 /* ITEMTYPE <> -1 RESSEX = -1 */
10727 begin
10728 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 */
10729 begin
10730 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10731 begin
10732 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10733 from CashShop cs(nolock), viewItem i(nolock)
10734 where i.ItemID = cs.ItemID and cs.Opened=1
10735 and i.SlotEx = @ItemType
10736
10737 select @RowCount = ((@Page -1) * @PageSize + 1)
10738 set rowcount @RowCount
10739 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10740 where cs.ItemID=i.ItemID and cs.Opened=1
10741 and i.SlotEx = @ItemType
10742 order by cs.csid desc
10743
10744 set rowcount @PageSize
10745 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10746 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10747 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10748 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10749 cs.RentType as RentType
10750 from CashShop cs(nolock), viewItem i(nolock)
10751 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10752 and i.SlotEx = @ItemType
10753 order by cs.csid desc
10754 end
10755 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10756 begin
10757 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10758 from CashShop cs(nolock), viewItem i(nolock)
10759 where i.ItemID = cs.ItemID and cs.Opened=1
10760 and i.SlotEx = @ItemType
10761 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10762
10763 select @RowCount = ((@Page -1) * @PageSize + 1)
10764 set rowcount @RowCount
10765 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10766 where cs.ItemID=i.ItemID and cs.Opened=1
10767 and i.SlotEx = @ItemType
10768 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10769 order by cs.csid desc
10770
10771 set rowcount @PageSize
10772 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10773 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10774 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10775 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10776 cs.RentType as RentType
10777 from CashShop cs(nolock), viewItem i(nolock)
10778 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10779 and i.SlotEx = @ItemType
10780 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10781 order by cs.csid desc
10782 end
10783 end
10784 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 */
10785 begin
10786 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10787 begin
10788 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10789 from CashShop cs(nolock), viewItem i(nolock)
10790 where i.ItemID = cs.ItemID and cs.Opened=1
10791 and i.SlotEx = @ItemType
10792 and i.ResLevel <= @ResLevel
10793
10794 select @RowCount = ((@Page -1) * @PageSize + 1)
10795 set rowcount @RowCount
10796 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10797 where cs.ItemID=i.ItemID and cs.Opened=1
10798 and i.SlotEx = @ItemType
10799 and i.ResLevel <= @ResLevel
10800 order by cs.csid desc
10801
10802 set rowcount @PageSize
10803 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10804 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10805 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10806 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10807 cs.RentType as RentType
10808 from CashShop cs(nolock), viewItem i(nolock)
10809 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10810 and i.SlotEx = @ItemType
10811 and i.ResLevel <= @ResLevel
10812 order by cs.csid desc
10813 end
10814 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10815 begin
10816 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10817 from CashShop cs(nolock), viewItem i(nolock)
10818 where i.ItemID = cs.ItemID and cs.Opened=1
10819 and i.SlotEx = @ItemType
10820 and i.ResLevel <= @ResLevel
10821 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10822
10823 select @RowCount = ((@Page -1) * @PageSize + 1)
10824 set rowcount @RowCount
10825 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10826 where cs.ItemID=i.ItemID and cs.Opened=1
10827 and i.SlotEx = @ItemType
10828 and i.ResLevel <= @ResLevel
10829 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10830 order by cs.csid desc
10831
10832 set rowcount @PageSize
10833 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10834 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10835 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10836 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10837 cs.RentType as RentType
10838 from CashShop cs(nolock), viewItem i(nolock)
10839 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10840 and i.SlotEx = @ItemType
10841 and i.ResLevel <= @ResLevel
10842 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10843 order by cs.csid desc
10844 end
10845 end
10846 end
10847 else /* ITEMTYPE <> -1 RESSEX <> -1 */
10848 begin
10849 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 */
10850 begin
10851 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10852 begin
10853 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10854 from CashShop cs(nolock), viewItem i(nolock)
10855 where i.ItemID = cs.ItemID and cs.Opened=1
10856 and i.SlotEx = @ItemType
10857 and i.ResSex = @ResSex
10858
10859 select @RowCount = ((@Page -1) * @PageSize + 1)
10860 set rowcount @RowCount
10861 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10862 where cs.ItemID=i.ItemID and cs.Opened=1
10863 and i.SlotEx = @ItemType
10864 and i.ResSex = @ResSex
10865 order by cs.csid desc
10866
10867 set rowcount @PageSize
10868 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10869 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10870 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10871 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10872 cs.RentType as RentType
10873 from CashShop cs(nolock), viewItem i(nolock)
10874 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10875 and i.SlotEx = @ItemType
10876 and i.ResSex = @ResSex
10877 order by cs.csid desc
10878 end
10879 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10880 begin
10881 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10882 from CashShop cs(nolock), viewItem i(nolock)
10883 where i.ItemID = cs.ItemID and cs.Opened=1
10884 and i.SlotEx = @ItemType
10885 and i.ResSex = @ResSex
10886 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10887
10888 select @RowCount = ((@Page -1) * @PageSize + 1)
10889 set rowcount @RowCount
10890 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10891 where cs.ItemID=i.ItemID and cs.Opened=1
10892 and i.SlotEx = @ItemType
10893 and i.ResSex = @ResSex
10894 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10895 order by cs.csid desc
10896
10897 set rowcount @PageSize
10898 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10899 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10900 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10901 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10902 cs.RentType as RentType
10903 from CashShop cs(nolock), viewItem i(nolock)
10904 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10905 and i.SlotEx = @ItemType
10906 and i.ResSex = @ResSex
10907 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10908 order by cs.csid desc
10909 end
10910 end
10911 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 */
10912 begin
10913 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10914 begin
10915 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10916 from CashShop cs(nolock), viewItem i(nolock)
10917 where i.ItemID = cs.ItemID and cs.Opened=1
10918 and i.SlotEx = @ItemType
10919 and i.ResSex = @ResSex
10920 and i.ResLevel <= @ResLevel
10921
10922 select @RowCount = ((@Page -1) * @PageSize + 1)
10923 set rowcount @RowCount
10924 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10925 where cs.ItemID=i.ItemID and cs.Opened=1
10926 and i.SlotEx = @ItemType
10927 and i.ResSex = @ResSex
10928 and i.ResLevel <= @ResLevel
10929 order by cs.csid desc
10930
10931 set rowcount @PageSize
10932 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10933 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10934 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10935 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10936 cs.RentType as RentType
10937 from CashShop cs(nolock), viewItem i(nolock)
10938 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10939 and i.SlotEx = @ItemType
10940 and i.ResSex = @ResSex
10941 and i.ResLevel <= @ResLevel
10942 order by cs.csid desc
10943 end
10944 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10945 begin
10946 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10947 from CashShop cs(nolock), viewItem i(nolock)
10948 where i.ItemID = cs.ItemID and cs.Opened=1
10949 and i.SlotEx = @ItemType
10950 and i.ResSex = @ResSex
10951 and i.ResLevel <= @ResLevel
10952 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10953
10954 select @RowCount = ((@Page -1) * @PageSize + 1)
10955 set rowcount @RowCount
10956 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10957 where cs.ItemID=i.ItemID and cs.Opened=1
10958 and i.SlotEx = @ItemType
10959 and i.ResSex = @ResSex
10960 and i.ResLevel <= @ResLevel
10961 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10962 order by cs.csid desc
10963
10964 set rowcount @PageSize
10965 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10966 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10967 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10968 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10969 cs.RentType as RentType
10970 from CashShop cs(nolock), viewItem i(nolock)
10971 where csid <= @PageHead and 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 order by cs.csid desc
10977 end
10978 end
10979 end
10980 end
10981
10982
10983
10984
10985
10986GO
10987/****** Object: StoredProcedure [dbo].[spLeague_FetchLeagueInfo] Script Date: 28-05-2018 18:12:28 ******/
10988SET ANSI_NULLS ON
10989GO
10990SET QUOTED_IDENTIFIER ON
10991GO
10992
10993
10994CREATE PROC [dbo].[spLeague_FetchLeagueInfo]
10995AS
10996 RETURN
10997
10998
10999
11000
11001GO
11002/****** Object: StoredProcedure [dbo].[spLeague_GetCID] Script Date: 28-05-2018 18:12:28 ******/
11003SET ANSI_NULLS ON
11004GO
11005SET QUOTED_IDENTIFIER ON
11006GO
11007
11008
11009CREATE PROC [dbo].[spLeague_GetCID]
11010AS
11011 RETURN
11012
11013
11014
11015
11016
11017GO
11018/****** Object: StoredProcedure [dbo].[spPresentCashItem] Script Date: 28-05-2018 18:12:28 ******/
11019SET ANSI_NULLS ON
11020GO
11021SET QUOTED_IDENTIFIER ON
11022GO
11023
11024
11025
11026
11027--------------------------------------------------------------------------------
11028
11029
11030
11031-- ë‹¨ì¼ ì•„ì´í…œ ì„ ë¬¼í•˜ê¸°
11032CREATE PROC [dbo].[spPresentCashItem]
11033 @SenderUserID varchar(20)
11034, @ReceiverUserID varchar(20)
11035, @CSID int
11036, @Cash int
11037, @RentHourPeriod smallint = NULL
11038, @MobileCode char(16) = NULL
11039AS
11040 SET NoCount On
11041
11042 DECLARE @ItemID int
11043 DECLARE @ReceiverAID int
11044
11045 SELECT @ReceiverAID = AID FROM Account (NOLOCK) WHERE UserID = @ReceiverUserID
11046
11047 IF @ReceiverAID IS NULL
11048 BEGIN
11049 RETURN 0
11050 END
11051 ELSE
11052 BEGIN
11053 DECLARE @RentDate datetime
11054 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11055 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11056 BEGIN
11057 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11058 DECLARE @RentType TINYINT
11059 DECLARE @RCSPID INT
11060
11061 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
11062 IF @RentType = 1
11063 BEGIN
11064 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
11065 IF @RCSPID IS NULL
11066 BEGIN
11067 RETURN 0
11068 END
11069 END
11070
11071 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
11072 SET @RentDate = NULL
11073 END
11074 ELSE
11075 BEGIN
11076 SET @RentDate = GETDATE()
11077 END
11078
11079
11080 SELECT @ItemID = ItemID FROM CashShop (NOLOCK) WHERE CSID = @CSID
11081
11082 IF @ItemID IS NOT NULL
11083 BEGIN
11084 BEGIN TRAN
11085
11086 -- ì•„ì´í…œ ìƒì„±.
11087 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11088 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11089
11090 IF @@ERROR <> 0
11091 BEGIN
11092 ROLLBACK
11093 RETURN 0
11094 END
11095
11096 -- ì„ ë¬¼ 로그 ìƒì„±.
11097 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSID, Date, Cash, RentHourPeriod, MobileCode)
11098 VALUES (@SenderUserID, @ReceiverAID, @CSID, GETDATE(), @Cash, @RentHourPeriod, @MobileCode)
11099
11100 IF @@ERROR <> 0
11101 BEGIN
11102 ROLLBACK
11103 RETURN 0
11104 END
11105
11106 COMMIT TRAN
11107 END
11108 ELSE
11109 BEGIN
11110 RETURN 0
11111 END
11112
11113
11114 RETURN 1
11115 END
11116
11117
11118
11119
11120
11121
11122GO
11123/****** Object: StoredProcedure [dbo].[spPresentCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
11124SET ANSI_NULLS ON
11125GO
11126SET QUOTED_IDENTIFIER ON
11127GO
11128
11129
11130
11131--------------------------------------------------------------------------------
11132
11133
11134CREATE PROC [dbo].[spPresentCashSetItem]
11135 @SenderUserID varchar(20)
11136, @ReceiverUserID varchar(20)
11137, @CSSID int
11138, @Cash int
11139, @RentHourPeriod smallint = NULL
11140, @MobileCode char(16) = NULL
11141AS
11142 SET NoCount On
11143
11144 DECLARE @ReceiverAID int
11145
11146 SELECT @ReceiverAID = AID FROM Account WHERE UserID = @ReceiverUserID
11147
11148 IF @ReceiverAID IS NOT NULL
11149 BEGIN
11150 DECLARE @RentDate datetime
11151
11152 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11153 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11154 BEGIN
11155 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11156 DECLARE @RentType TINYINT
11157 DECLARE @RCSSPID INT
11158
11159 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
11160 IF @RentType = 1
11161 BEGIN
11162 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
11163 IF @RCSSPID IS NULL
11164 BEGIN
11165 RETURN 0
11166 END
11167 END
11168
11169 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
11170 SET @RentDate = NULL
11171 END
11172 ELSE
11173 BEGIN
11174 SET @RentDate = GETDATE()
11175 END
11176
11177
11178 BEGIN TRAN
11179 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
11180
11181 FOR
11182 SELECT CSID FROM CashSetItem WHERE CSSID = @CSSID
11183 FOR READ ONLY
11184
11185 OPEN curBuyCashSetItem
11186
11187 DECLARE @varCSID int
11188 DECLARE @ItemID int
11189
11190 FETCH FROM curBuyCashSetItem INTO @varCSID
11191
11192 WHILE @@FETCH_STATUS = 0
11193 BEGIN
11194 SELECT @ItemID = ItemID FROM CashShop WHERE CSID = @varCSID
11195
11196 IF @ItemID IS NOT NULL
11197 BEGIN
11198 -- ì•„ì´í…œ ìƒì„±.
11199 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11200 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11201
11202 IF @@ERROR <> 0
11203 BEGIN
11204 ROLLBACK
11205 CLOSE curBuyCashSetItem
11206 DEALLOCATE curBuyCashSetItem
11207 RETURN 0
11208 END
11209 END
11210
11211 FETCH FROM curBuyCashSetItem INTO @varCSID
11212 END
11213
11214 CLOSE curBuyCashSetItem
11215 DEALLOCATE curBuyCashSetItem
11216
11217 -- 셋트아ì´í…œ ì„ ë¬¼ 로그 ìƒì„±.
11218 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
11219 VALUES (@SenderUserID, @ReceiverAID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
11220
11221 IF @@ERROR <> 0
11222 BEGIN
11223 ROLLBACK
11224 RETURN 0
11225 END
11226
11227 COMMIT TRAN
11228 RETURN 1
11229
11230 END
11231 ELSE
11232 BEGIN
11233 RETURN 0
11234 END
11235
11236
11237
11238
11239
11240
11241GO
11242/****** Object: StoredProcedure [dbo].[spRegularTranslateServerLog] Script Date: 28-05-2018 18:12:28 ******/
11243SET ANSI_NULLS ON
11244GO
11245SET QUOTED_IDENTIFIER ON
11246GO
11247
11248
11249
11250CREATE PROC [dbo].[spRegularTranslateServerLog]
11251AS
11252 SET NOCOUNT ON
11253
11254 DECLARE @StartTime char(16)
11255 DECLARE @EndTime char(16)
11256
11257 SET @StartTime = CONVERT(char(13), DATEADD(hh, -1, GETDATE()), 120) + ':00'
11258 SET @EndTime = CONVERT(char(13), GETDATE(), 120) + ':00'
11259
11260 INSERT INTO LogDB.game.ServerLogStorage(ServerID
11261 , PlayerCount, GameCount, BlockCount, NonBlockCount
11262 , Time)
11263 SELECT ServerID, PlayerCount, GameCount, BlockCount, NonBlockCount, Time
11264 FROM GunzDB.game.ServerLog(NOLOCK)
11265 WHERE ServerID < 200 AND Time >= @StartTime AND Time < @EndTime
11266 ORDER BY ServerID, Time
11267
11268
11269
11270
11271
11272
11273GO
11274/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRankIncrease] Script Date: 28-05-2018 18:12:28 ******/
11275SET ANSI_NULLS ON
11276GO
11277SET QUOTED_IDENTIFIER ON
11278GO
11279
11280
11281-- í´ëžœ ëží‚¹ ì¦ê°€ë¶„ ì—…ë°ì´íЏ - ë§¤ì¼ ìƒˆë²½ 12ì‹œì— ì—…ë°ì´íЏ
11282CREATE PROC [dbo].[spRegularUpdateClanRankIncrease]
11283AS
11284 SET NOCOUNT ON
11285
11286 -- 꼴등ëží‚¹ì„ 구한다.
11287 DECLARE @LowestRank int
11288 SELECT TOP 1 @LowestRank=Ranking FROM Clan
11289 WHERE DeleteFlag=0 AND Ranking>0
11290 order by ranking desc
11291
11292 IF @LowestRank is NULL SELECT @LowestRank = 0
11293
11294 UPDATE Clan
11295 SET RankIncrease=(LastDayRanking-Ranking)
11296 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking != 0
11297
11298 -- ì²˜ìŒ ëží‚¹ì— ì§„ìž…í–ˆì„ ê²½ìš°
11299 UPDATE Clan
11300 SET RankIncrease=@LowestRank-Ranking
11301 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking = 0
11302
11303 -- LastDayRanking ì—…ë°ì´íЏ
11304 UPDATE Clan
11305 SET LastDayRanking=Ranking
11306 where DeleteFlag=0 and Ranking>0
11307
11308
11309
11310
11311
11312GO
11313/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRanking] Script Date: 28-05-2018 18:12:28 ******/
11314SET ANSI_NULLS ON
11315GO
11316SET QUOTED_IDENTIFIER ON
11317GO
11318
11319
11320CREATE PROC [dbo].[spRegularUpdateClanRanking]
11321AS
11322SET NOCOUNT ON
11323
11324DECLARE @varRanking int
11325SELECT @varRanking = 0
11326
11327DECLARE curRankClan INSENSITIVE CURSOR
11328FOR
11329 SELECT CLID
11330 FROM Clan(nolock)
11331 WHERE DeleteFlag=0 AND ((Wins != 0) OR (Losses != 0))
11332 ORDER BY Point Desc, Wins Desc, Losses Asc
11333
11334FOR READ ONLY
11335
11336OPEN curRankClan
11337
11338DECLARE @varCLID int
11339DECLARE @sql varchar(100)
11340
11341FETCH FROM curRankClan INTO @varCLID
11342
11343WHILE @@FETCH_STATUS = 0
11344BEGIN
11345 SELECT @varRanking = @varRanking + 1
11346
11347 -- ëží‚¹ ì—…ë°ì´íЏ
11348 UPDATE Clan SET Ranking = @varRanking WHERE CLID=@varCLID
11349
11350
11351 FETCH FROM curRankClan INTO @varCLID
11352END
11353
11354CLOSE curRankClan
11355DEALLOCATE curRankClan
11356
11357
11358
11359
11360
11361
11362GO
11363/****** Object: StoredProcedure [dbo].[spRegularUpdateConnLog] Script Date: 28-05-2018 18:12:28 ******/
11364SET ANSI_NULLS ON
11365GO
11366SET QUOTED_IDENTIFIER ON
11367GO
11368
11369
11370CREATE PROC [dbo].[spRegularUpdateConnLog]
11371AS
11372SET NOCOUNT ON
11373-- ë‹¤ìŒ ë‚ ìžì˜ ConnLogí…Œì´ë¸” ìƒì„± 쿼리.
11374DECLARE @NewTableName varchar(20)
11375DECLARE @CreateConnLogQuery varchar( 255 )
11376DECLARE @NextDate smalldatetime
11377
11378DECLARE @Month int
11379DECLARE @Day int
11380
11381EXEC spGetAgoDay -1, @NextDate OUTPUT
11382
11383SET @Month = DATEPART(mm, @NextDate)
11384SET @Day = DATEPART(dd, @NextDate)
11385
11386SELECT @NewTableName = 'ConnLog_' +
11387 CAST( DATEPART(yy, @NextDate) AS varchar(4) ) +
11388 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11389 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11390
11391SELECT @CreateConnLogQuery = 'CREATE TABLE ' + @NewTableName + '(id int identity PRIMARY KEY, AID int NOT NULL, Time smalldatetime NOT NULL, IP char(12) NOT NULL)'
11392
11393EXEC (@CreateConnLogQuery )
11394
11395
11396
11397-- ì´ì „ ë‚ ì§œConnLogì˜ UV처리 쿼리
11398DECLARE @TableName varchar(20)
11399DECLARE @UVQuery varchar(512)
11400DECLARE @BefDate datetime
11401
11402
11403EXEC spGetAgoDay 1, @BefDate OUTPUT
11404
11405SET @Month = DATEPART(mm, @BefDate)
11406SET @Day = DATEPART(dd, @BefDate)
11407
11408SELECT @TableName = 'ConnLog_' +
11409 CAST( DATEPART(yy, @BefDate) AS varchar(4) ) +
11410 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11411 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11412
11413SELECT @UVQuery = '
11414DECLARE @Count int
11415DECLARE @Date smalldatetime
11416
11417EXEC spGetAgoDay 1, @Date OUTPUT
11418
11419SELECT @Count = COUNT(*) FROM (SELECT AID FROM ' + @TableName + ' (NOLOCK) GROUP BY AID) A
11420
11421INSERT INTO UV(Time, Count) VALUES (@Date, @Count)'
11422
11423EXEC (@UVQuery)
11424
11425--EXEC ('TRUNCATE TABLE ' + @TableName)
11426--EXEC ('DROP TABLE ' + @TableName)
11427
11428
11429
11430
11431
11432
11433GO
11434/****** Object: StoredProcedure [dbo].[spRegularUpdateDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
11435SET ANSI_NULLS ON
11436GO
11437SET QUOTED_IDENTIFIER ON
11438GO
11439
11440CREATE proc [dbo].[spRegularUpdateDeleteClan]
11441as
11442 set nocount on
11443
11444 declare @DelClanID table( clid int )
11445
11446 begin tran
11447 insert into @DelClanID
11448 select CLID from Clan(nolock) where DeleteFlag = 2
11449 if (0 <> @@ERROR) or (0 = @@ROWCOUNT) begin
11450 rollback tran
11451 return
11452 end
11453
11454 delete ClanMember
11455 from @DelClanID dci, ClanMember cm(nolock)
11456 where cm.CLID = dci.CLID
11457 if (0 <> @@ERROR) begin
11458 rollback tran
11459 return
11460 end
11461
11462 update Clan
11463 set MasterCID = null, DeleteFlag = 1, DeleteName = Name, Name = null
11464 from @DelClanID dci, Clan c(nolock)
11465 where c.CLID = dci.CLID
11466 if (0 <> @@ERROR) OR (0 = @@ROWCOUNT) begin
11467 rollback tran
11468 return
11469 end
11470
11471 commit tran
11472
11473
11474
11475
11476
11477GO
11478/****** Object: StoredProcedure [dbo].[spRegularUpdateHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
11479SET ANSI_NULLS ON
11480GO
11481SET QUOTED_IDENTIFIER ON
11482GO
11483
11484
11485-- í•œë‹¬ì— í•œë²ˆì”© ëª…ì˜ˆì˜ ì „ë‹¹ ì—…ë°ì´íЏ, ê¼ ê·¸ 다ìŒë‹¬ì˜ 1ì¼ì— 해야한다.
11486CREATE PROC [dbo].[spRegularUpdateHonorRanking]
11487AS
11488SET NOCOUNT ON
11489BEGIN TRAN -------------
11490
11491EXEC [spRegularUpdateClanRanking]
11492
11493DECLARE @Year int
11494DECLARE @Month int
11495
11496SELECT @Year = YEAR(GETDATE())
11497SELECT @Month = MONTH(GETDATE())
11498
11499IF (@Month = 1)
11500BEGIN
11501 SELECT @Year = @Year-1
11502END
11503
11504SELECT @Month = @Month - 1
11505
11506IF (@Month = 0)
11507BEGIN
11508 SELECT @Month = 12
11509END
11510
11511INSERT INTO ClanHonorRanking(CLID, ClanName, Point, Wins, Losses, Ranking, Year, Month)
11512SELECT CLID, Name AS ClanName, Point, Wins, Losses, Ranking, @Year, @Month
11513FROM Clan
11514WHERE DeleteFlag=0 AND Ranking>0
11515ORDER BY Ranking
11516IF 0 <> @@ERROR BEGIN -- 여기 추가.
11517 ROLLBACK TRAN
11518 RETURN
11519END
11520
11521-- í´ëžœ 리셋
11522UPDATE Clan SET Ranking=0, Wins=0, Losses=0, Point=1000, RankIncrease=0, LastDayRanking=0
11523IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
11524 ROLLBACK TRAN
11525 RETURN
11526END
11527
11528COMMIT TRAN -----------
11529
11530
11531
11532
11533
11534GO
11535/****** Object: StoredProcedure [dbo].[spRegularUpdateShopRanking] Script Date: 28-05-2018 18:12:28 ******/
11536SET ANSI_NULLS ON
11537GO
11538SET QUOTED_IDENTIFIER ON
11539GO
11540
11541
11542CREATE PROC [dbo].[spRegularUpdateShopRanking]
11543AS
11544SET NOCOUNT ON
11545BEGIN
11546 BEGIN TRAN
11547 /* ì›ê±°ë¦¬ 무기 ì¸ê¸°ìˆœìœ„ */
11548 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankRange%')
11549 DROP TABLE #TempShopRankRange
11550
11551
11552 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,
11553 i.ResSex, i.ResLevel, c.CashPrice
11554 INTO #TempShopRankRange
11555 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11556 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=2 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11557 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11558 ORDER BY Count DESC
11559 IF @@ERROR <> 0
11560 BEGIN
11561 ROLLBACK
11562 RETURN (-1)
11563 END
11564
11565 /* ê·¼ì ‘ 무기 ì¸ê¸°ìˆœìœ„ */
11566 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankMelee%')
11567 DROP TABLE #TempShopRankMelee
11568
11569 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,
11570 i.ResSex, i.ResLevel, c.CashPrice
11571 INTO #TempShopRankMelee
11572 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11573 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=1 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11574 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11575 ORDER BY Count DESC
11576 IF @@ERROR <> 0
11577 BEGIN
11578 ROLLBACK
11579 RETURN (-1)
11580 END
11581
11582 /* 특수아ì´í…œ ì¸ê¸°ìˆœìœ„ */
11583 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSpecial%')
11584 DROP TABLE #TempShopRankSpecial
11585
11586 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,
11587 i.ResSex, i.ResLevel, c.CashPrice
11588 INTO #TempShopRankSpecial
11589 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11590 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=3 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11591 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11592 ORDER BY Count DESC
11593 IF @@ERROR <> 0
11594 BEGIN
11595 ROLLBACK
11596 RETURN (-1)
11597 END
11598
11599 /* 방어구 ì¸ê¸°ìˆœìœ„ */
11600 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankArmor%')
11601 DROP TABLE #TempShopRankArmor
11602
11603 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'defence' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID,
11604 CASE i.Slot
11605 WHEN 0 THEN 'no limit'
11606 WHEN 1 THEN 'melee weapon'
11607 WHEN 2 THEN 'range weapon'
11608 WHEN 3 THEN 'item'
11609 WHEN 4 THEN 'haed'
11610 WHEN 5 THEN 'chest'
11611 WHEN 6 THEN 'hands'
11612 WHEN 7 THEN 'legs'
11613 WHEN 8 THEN 'feet'
11614 WHEN 9 THEN 'finger'
11615 END AS Slot, i.ResSex, i.ResLevel, c.CashPrice
11616 INTO #TempShopRankArmor
11617 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11618 WHERE Date > DATEADD(day, -7, GetDate()) AND 4<=i.Slot AND i.Slot<=9 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11619 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11620 ORDER BY COUNT(l.ItemID) DESC
11621 IF @@ERROR <> 0
11622 BEGIN
11623 ROLLBACK
11624 RETURN (-1)
11625 END
11626
11627 /* 세트 ì¸ê¸°ìˆœìœ„ */
11628 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSet%')
11629 DROP TABLE #TempShopRankSet
11630
11631 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'set' AS Category, s.Name, COUNT(l.CSSID) AS Count, NULL AS CSID, l.CSSID,
11632 'set' AS Slot, s.ResSex, s.ResLevel, s.CashPrice
11633 INTO #TempShopRankSet
11634 FROM SetItemPurchaseLogByCash l(NOLOCK), CashSetShop s(NOLOCK)
11635 WHERE Date > DATEADD(day, -7, GetDate()) AND l.CSSID=s.CSSID
11636 GROUP BY l.CSSID, s.Name, s.ResSex, s.ResLevel, s.CashPrice
11637 ORDER BY Count DESC
11638 IF @@ERROR <> 0
11639 BEGIN
11640 ROLLBACK
11641 RETURN (-1)
11642 END
11643
11644 /* 샵ëží‚¹ 리셋 */
11645 DELETE FROM CashShopRank
11646
11647 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11648 SELECT * FROM #TempShopRankRange
11649 IF @@ERROR <> 0
11650 BEGIN
11651 ROLLBACK
11652 RETURN (-1)
11653 END
11654
11655 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11656 SELECT * FROM #TempShopRankMelee
11657 IF @@ERROR <> 0
11658 BEGIN
11659 ROLLBACK
11660 RETURN (-1)
11661 END
11662
11663 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11664 SELECT * FROM #TempShopRankSpecial
11665 IF @@ERROR <> 0
11666 BEGIN
11667 ROLLBACK
11668 RETURN (-1)
11669 END
11670
11671 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11672 SELECT * FROM #TempShopRankArmor
11673 IF @@ERROR <> 0
11674 BEGIN
11675 ROLLBACK
11676 RETURN (-1)
11677 END
11678
11679 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11680 SELECT * FROM #TempShopRankSet
11681 IF @@ERROR <> 0
11682 BEGIN
11683 ROLLBACK
11684 RETURN (-1)
11685 END
11686
11687 DROP TABLE #TempShopRankRange
11688 DROP TABLE #TempShopRankMelee
11689 DROP TABLE #TempShopRankSpecial
11690 DROP TABLE #TempShopRankArmor
11691 DROP TABLE #TempShopRankSet
11692 COMMIT TRAN
11693 RETURN (1)
11694END
11695
11696
11697
11698
11699
11700GO
11701/****** Object: StoredProcedure [dbo].[spRemoveClanMember] Script Date: 28-05-2018 18:12:28 ******/
11702SET ANSI_NULLS ON
11703GO
11704SET QUOTED_IDENTIFIER ON
11705GO
11706
11707
11708-- 멤버 ì‚ì œ
11709CREATE PROC [dbo].[spRemoveClanMember]
11710 @CLID int,
11711 @CID int
11712AS
11713 SET NOCOUNT ON
11714 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11715
11716
11717
11718
11719
11720GO
11721/****** Object: StoredProcedure [dbo].[spRemoveClanMemberFromCharName] Script Date: 28-05-2018 18:12:28 ******/
11722SET ANSI_NULLS ON
11723GO
11724SET QUOTED_IDENTIFIER ON
11725GO
11726
11727
11728
11729-- 멤버 ì´ë¦„으로 멤버 ì‚ì œ
11730CREATE PROC [dbo].[spRemoveClanMemberFromCharName]
11731 @CLID int,
11732 @AdminGrade int, -- íƒˆí‡´ì‹œí‚¤ë ¤ê³ í•˜ëŠ” ì‚¬ëžŒì˜ ê¶Œí•œ
11733 @MemberCharName varchar(36)
11734AS
11735 SET NOCOUNT ON
11736 DECLARE @CID int
11737 DECLARE @MemberGrade int
11738
11739
11740 SELECT @CID=c.cid, @MemberGrade=cm.Grade FROM Character c(nolock), ClanMember cm(nolock)
11741 WHERE cm.clid=@CLID AND c.cid=cm.cid AND c.Name=@MemberCharName AND (DeleteFlag=0)
11742
11743 IF (@CID IS NULL)
11744 BEGIN
11745 SELECT 0 As Ret
11746 return (-1)
11747 END
11748
11749 IF @AdminGrade >= @MemberGrade
11750 BEGIN
11751 SELECT 2 As Ret
11752 return (-1)
11753 END
11754
11755
11756 IF @CID IS NOT NULL
11757 BEGIN
11758 BEGIN TRAN
11759 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11760 IF 0 <> @@ERROR BEGIN
11761 ROLLBACK TRAN
11762 SELECT 3 AS Ret -- ìˆ˜ì •ëœ ë¶€ë¶„. By SungE
11763 RETURN
11764 END
11765 COMMIT TRAN
11766 SELECT 1 As Ret
11767 END
11768
11769/* Retê°’ 설명 : 1 - 성공, 0 - 해당í´ëžœì›ì´ 없다. , 2 - ê¶Œí•œì´ ë§žì§€ 않다. */
11770
11771
11772
11773
11774
11775GO
11776/****** Object: StoredProcedure [dbo].[spRemoveFriend] Script Date: 28-05-2018 18:12:28 ******/
11777SET ANSI_NULLS ON
11778GO
11779SET QUOTED_IDENTIFIER ON
11780GO
11781
11782
11783-- 친구 ì‚ì œ
11784CREATE PROC [dbo].[spRemoveFriend]
11785 @CID int
11786, @FriendCID int
11787AS
11788SET NOCOUNT ON
11789UPDATE Friend
11790SET DeleteFlag=1
11791WHERE CID=@CID AND FriendCID=@FriendCID
11792
11793
11794
11795
11796
11797GO
11798/****** Object: StoredProcedure [dbo].[spReserveCloseClan] Script Date: 28-05-2018 18:12:28 ******/
11799SET ANSI_NULLS ON
11800GO
11801SET QUOTED_IDENTIFIER ON
11802GO
11803
11804CREATE PROC [dbo].[spReserveCloseClan]
11805 @CLID int
11806, @ClanName varchar(24)
11807, @MasterCID int
11808, @DeleteDate smalldatetime
11809AS
11810 UPDATE Clan SET DeleteFlag=2 WHERE CLID=@CLID AND Name=@ClanName AND MasterCID=@MasterCID
11811
11812
11813
11814
11815GO
11816/****** Object: StoredProcedure [dbo].[spResetAccountHackingBlock] Script Date: 28-05-2018 18:12:28 ******/
11817SET ANSI_NULLS ON
11818GO
11819SET QUOTED_IDENTIFIER ON
11820GO
11821
11822
11823CREATE PROC [dbo].[spResetAccountHackingBlock]
11824 @AID INT
11825, @HackingType TINYINT
11826AS
11827BEGIN
11828 SET NOCOUNT ON
11829
11830 UPDATE Account
11831 SET HackingType = @HackingType
11832 WHERE AID = @AID
11833END
11834
11835
11836
11837
11838GO
11839/****** Object: StoredProcedure [dbo].[spSearchCashItem] Script Date: 28-05-2018 18:12:28 ******/
11840SET ANSI_NULLS ON
11841GO
11842SET QUOTED_IDENTIFIER ON
11843GO
11844
11845
11846/* ì•„ì´í…œ 검색 */
11847CREATE PROC [dbo].[spSearchCashItem]
11848 @Slot tinyint,
11849 @ResSex tinyint,
11850 @ResMinLevel int = NULL,
11851 @ResMaxLevel int = NULL,
11852 @ItemName varchar(256) = '',
11853 @Page int = 1,
11854 @PageCount int OUTPUT
11855AS
11856SET NOCOUNT ON
11857
11858SELECT @PageCount = 1
11859
11860SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11861cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11862i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11863WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11864ORDER BY cs.csid DESC
11865
11866
11867
11868
11869
11870
11871GO
11872/****** Object: StoredProcedure [dbo].[spSearchCashItem2] Script Date: 28-05-2018 18:12:28 ******/
11873SET ANSI_NULLS ON
11874GO
11875SET QUOTED_IDENTIFIER ON
11876GO
11877
11878
11879/* ì•„ì´í…œ 검색 */
11880CREATE PROC [dbo].[spSearchCashItem2]
11881 @Slot tinyint,
11882 @ResSex tinyint,
11883 @ResMinLevel int = NULL,
11884 @ResMaxLevel int = NULL,
11885 @ItemName varchar(256) = '',
11886 @Page int = 1,
11887 @PageCount int OUTPUT
11888AS
11889SET NOCOUNT ON
11890
11891SELECT @PageCount = 1
11892
11893SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11894cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11895i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11896WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11897ORDER BY cs.csid DESC
11898
11899
11900
11901
11902
11903
11904GO
11905/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
11906SET ANSI_NULLS ON
11907GO
11908SET QUOTED_IDENTIFIER ON
11909GO
11910
11911
11912/* 순위 검색 */
11913CREATE PROC [dbo].[spSearchTotalRankingByName]
11914 @Name varchar(24)
11915AS
11916SET NOCOUNT ON
11917-- 와ì¼ë“œì¹´ë“œ ë¬¸ìž ì²˜ë¦¬
11918--SELECT @Name = REPLACE(@Name, '[', '[[]')
11919--SELECT @Name = REPLACE(@Name, '%', '[%]')
11920--SELECT @Name = REPLACE(@Name, '_', '[_]')
11921
11922SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount
11923FROM TotalRanking(nolock)
11924WHERE Name=@Name
11925
11926
11927
11928
11929
11930
11931
11932GO
11933/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
11934SET ANSI_NULLS ON
11935GO
11936SET QUOTED_IDENTIFIER ON
11937GO
11938
11939
11940
11941-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
11942CREATE PROC [dbo].[spSearchTotalRankingByNetmarbleID]
11943 @UserID varchar(20)
11944AS
11945SET NOCOUNT ON
11946BEGIN
11947 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
11948 FROM TotalRanking (NOLOCK)
11949 WHERE Name = @UserID
11950END
11951
11952
11953
11954
11955
11956GO
11957/****** Object: StoredProcedure [dbo].[spSelectAccountItem] Script Date: 28-05-2018 18:12:28 ******/
11958SET ANSI_NULLS ON
11959GO
11960SET QUOTED_IDENTIFIER ON
11961GO
11962
11963
11964/* 중앙ì€í–‰ ì•„ì´í…œ 보기 */
11965CREATE PROC [dbo].[spSelectAccountItem]
11966 @AID int
11967AS
11968SET NOCOUNT ON
11969
11970DECLARE @NowTime DATETIME
11971SELECT @NowTime = GETDATE()
11972
11973SELECT AIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
11974FROM AccountItem(NOLOCK)
11975WHERE AID=@AID ORDER BY AIID
11976
11977
11978
11979
11980
11981
11982
11983GO
11984/****** Object: StoredProcedure [dbo].[spSelectCharItem] Script Date: 28-05-2018 18:12:28 ******/
11985SET ANSI_NULLS ON
11986GO
11987SET QUOTED_IDENTIFIER ON
11988GO
11989
11990
11991/* ìºë¦í„° ì•„ì´í…œ 보기 */
11992CREATE PROC [dbo].[spSelectCharItem]
11993 @CID int
11994AS
11995SET NOCOUNT ON
11996
11997DECLARE @NowTime DATETIME
11998SELECT @NowTime = GETDATE()
11999
12000SELECT CIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
12001FROM CharacterItem (nolock)
12002WHERE CID=@CID ORDER BY CIID
12003
12004
12005
12006
12007
12008
12009
12010GO
12011/****** Object: StoredProcedure [dbo].[spSelectCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
12012SET ANSI_NULLS ON
12013GO
12014SET QUOTED_IDENTIFIER ON
12015GO
12016
12017
12018CREATE PROC [dbo].[spSelectCharQuestItemInfoByCID]
12019 @CID int
12020AS
12021BEGIN
12022 SET NOCOUNT ON
12023 SELECT QuestItemInfo FROM Character (NOLOCK) WHERE CID = @CID
12024END
12025
12026
12027
12028
12029
12030GO
12031/****** Object: StoredProcedure [dbo].[spSellBountyItem] Script Date: 28-05-2018 18:12:28 ******/
12032SET ANSI_NULLS ON
12033GO
12034SET QUOTED_IDENTIFIER ON
12035GO
12036
12037
12038-- 게임내 ìƒì ì—서 ì•„ì´í…œ íŒë§¤
12039CREATE PROC [dbo].[spSellBountyItem]
12040 @CID INT,
12041 @ItemID INT,
12042 @CIID INT,
12043 @Price INT,
12044 @CharBP INT
12045AS
12046SET NOCOUNT ON
12047BEGIN
12048 BEGIN TRAN
12049 -- Item ì‚ì œ
12050 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND CIID=@CIID
12051 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12052 BEGIN
12053 ROLLBACK
12054 RETURN (-1)
12055 END
12056
12057 -- Bounty ì¦ê°€
12058 UPDATE Character SET BP=BP+@Price WHERE CID=@CID
12059 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12060 BEGIN
12061 ROLLBACK
12062 RETURN (-1)
12063 END
12064
12065 -- Item íŒë§¤ 로그 추가
12066 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
12067 VALUES (@ItemID, @CID, GETDATE(), @Price, @CharBP, 'íŒë§¤')
12068 IF 0 <> @@ERROR BEGIN
12069 ROLLBACK TRAN
12070 RETURN (-1)
12071 END
12072
12073 SELECT 1 as Ret
12074 COMMIT TRAN
12075
12076 RETURN 1
12077END
12078
12079
12080
12081
12082
12083GO
12084/****** Object: StoredProcedure [dbo].[spSimpleUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12085SET ANSI_NULLS ON
12086GO
12087SET QUOTED_IDENTIFIER ON
12088GO
12089
12090
12091
12092/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - 한사람 죽ì¼ë•Œë§ˆë‹¤ ì—…ë°ì´íŠ¸í•œë‹¤. */
12093CREATE PROC [dbo].[spSimpleUpdateChar]
12094 @CID int,
12095 @Name varchar(24),
12096 @Level smallint,
12097 @XP int,
12098 @BP int
12099AS
12100SET NOCOUNT ON
12101UPDATE Character WITH (rowlock)
12102SET Level=@Level, XP=@XP, BP=@BP
12103WHERE CID=@CID AND Name=@Name
12104
12105
12106
12107
12108
12109GO
12110/****** Object: StoredProcedure [dbo].[spStartUpLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12111SET ANSI_NULLS ON
12112GO
12113SET QUOTED_IDENTIFIER OFF
12114GO
12115
12116CREATE PROC [dbo].[spStartUpLocatorStatus]
12117 @LocatorID int
12118, @IP varchar(15)
12119, @Port int
12120, @UpdateElapsedTime int
12121AS
12122 SET NOCOUNT ON
12123 IF EXISTS (SELECT LocatorID FROM LocatorStatus(NOLOCK)
12124 WHERE LocatorID = @LocatorID) BEGIN
12125 UPDATE LocatorStatus
12126 SET IP = @IP, Port = @Port, UpdateElapsedTime = @UpdateElapsedTime,
12127 LastUpdatedTime = GETDATE()
12128 WHERE LocatorID = @LocatorID
12129 END
12130 ELSE BEGIN
12131 INSERT INTO LocatorStatus(LocatorID, IP, Port, UpdateElapsedTime, LastUpdatedTime)
12132 VALUES (@LocatorID, @IP, @Port, @UpdateElapsedTime, GETDATE())
12133 END
12134
12135
12136
12137
12138GO
12139/****** Object: StoredProcedure [dbo].[spUpdateAccountLastLogoutTime] Script Date: 28-05-2018 18:12:28 ******/
12140SET ANSI_NULLS ON
12141GO
12142SET QUOTED_IDENTIFIER ON
12143GO
12144
12145CREATE PROC [dbo].[spUpdateAccountLastLogoutTime]
12146 @AID int
12147AS
12148BEGIN
12149 SET NOCOUNT ON
12150
12151 UPDATE Account SET LastLogoutTime = GETDATE() WHERE AID = @AID
12152END
12153
12154
12155
12156
12157GO
12158/****** Object: StoredProcedure [dbo].[spUpdateAccountUGrade] Script Date: 28-05-2018 18:12:28 ******/
12159SET ANSI_NULLS ON
12160GO
12161SET QUOTED_IDENTIFIER ON
12162GO
12163
12164
12165-- 패ë„í‹° ì ìš©
12166CREATE PROC [dbo].[spUpdateAccountUGrade]
12167 @AID int
12168, @UGrade int
12169, @Period int
12170AS
12171BEGIN TRAN
12172 SET NOCOUNT ON
12173 UPDATE Account SET UGradeID=@UGrade WHERE AID=@AID
12174 IF 0 = @@ROWCOUNT BEGIN
12175 ROLLBACK TRAN
12176 RETURN
12177 END
12178
12179
12180 IF (@UGrade >= 100) AND (@UGrade<=253) BEGIN
12181 INSERT INTO PenaltyLog(AID, UGradeID, Date) Values(@AID, @UGrade, GETDATE())
12182 IF 0 <> @@ERROR BEGIN
12183 ROLLBACK TRAN
12184 RETURN
12185 END
12186 END
12187
12188 IF @UGrade = 104 OR @UGrade=105 BEGIN
12189 INSERT INTO AccountPenaltyPeriod(AID, DayLeft) VALUES(@AID, @Period)
12190 IF 0 <> @@ERROR BEGIN
12191 ROLLBACK TRAN
12192 RETURN
12193 END
12194 END
12195 ELSE
12196 BEGIN
12197 -- 기간 패ë„í‹° í•´ì œ
12198 DELETE FROM AccountPenaltyPeriod WHERE AID=@AID
12199 IF 0 <> @@ERROR BEGIN
12200 ROLLBACK TRAN
12201 RETURN
12202 END
12203 END
12204COMMIT TRAN
12205
12206
12207
12208
12209
12210
12211GO
12212/****** Object: StoredProcedure [dbo].[spUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12213SET ANSI_NULLS ON
12214GO
12215SET QUOTED_IDENTIFIER ON
12216GO
12217
12218
12219/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - ì•„ì´í…œ ì •ë³´ëŠ” ì—…ë°ì´íЏ 하지 않는다. */
12220CREATE PROC [dbo].[spUpdateChar]
12221 @Name varchar(24),
12222 @CharNum smallint,
12223 @Level smallint,
12224 @Sex tinyint,
12225 @Hair tinyint,
12226 @Face tinyint,
12227 @XP int,
12228 @BP int,
12229 @HP smallint,
12230 @AP smallint,
12231 @FR smallint,
12232 @CR smallint,
12233 @ER smallint,
12234 @WR smallint
12235AS
12236SET NOCOUNT ON
12237UPDATE Character WITH (rowlock)
12238SET Name=@Name, Level=@Level, Sex=@Sex, Hair=@Hair, Face=@Face, XP=@XP, BP=@BP,
12239 HP=@HP, AP=@AP, FR=@FR, CR=@CR, ER=@ER, WR=@WR
12240WHERE Name=@Name and CharNum=@CharNum
12241
12242
12243
12244
12245
12246
12247GO
12248/****** Object: StoredProcedure [dbo].[spUpdateCharBP] Script Date: 28-05-2018 18:12:28 ******/
12249SET ANSI_NULLS ON
12250GO
12251SET QUOTED_IDENTIFIER ON
12252GO
12253
12254
12255
12256
12257/* BP ì—…ë°ì´íЏ */
12258CREATE PROC [dbo].[spUpdateCharBP]
12259 @BPInc int,
12260 @CID int
12261AS
12262SET NOCOUNT ON
12263UPDATE Character
12264SET BP=BP+(@BPInc)
12265WHERE CID=@CID
12266
12267
12268
12269
12270
12271
12272GO
12273/****** Object: StoredProcedure [dbo].[spUpdateCharClanContPoint] Script Date: 28-05-2018 18:12:28 ******/
12274SET ANSI_NULLS ON
12275GO
12276SET QUOTED_IDENTIFIER ON
12277GO
12278
12279
12280-- í´ëžœê¸°ì—¬ë„ ì—…ë°ì´íЏ
12281CREATE PROC [dbo].[spUpdateCharClanContPoint]
12282 @CID int,
12283 @CLID int,
12284 @AddedContPoint int
12285AS
12286 SET NOCOUNT ON
12287 Update ClanMember SET ContPoint=ContPoint+@AddedContPoint WHERE CID=@CID AND CLID=@CLID
12288
12289
12290
12291
12292
12293GO
12294/****** Object: StoredProcedure [dbo].[spUpdateCharInfoData] Script Date: 28-05-2018 18:12:28 ******/
12295SET ANSI_NULLS ON
12296GO
12297SET QUOTED_IDENTIFIER ON
12298GO
12299
12300
12301
12302
12303/* ìºë¦í„° ì •ë³´(XP, BP, KillCount, DeathCount) ì—…ë°ì´íЏ */
12304CREATE PROC [dbo].[spUpdateCharInfoData]
12305 @XPInc int,
12306 @BPInc int,
12307 @KillInc int,
12308 @DeathInc int,
12309 @CID int
12310AS
12311SET NOCOUNT ON
12312
12313UPDATE Character
12314SET XP=XP+(@XPInc), BP=BP+(@BPInc), KillCount=KillCount+(@KillInc), DeathCount=DeathCount+(@DeathInc)
12315WHERE CID=@CID
12316
12317
12318
12319
12320
12321
12322GO
12323/****** Object: StoredProcedure [dbo].[spUpdateCharLevel] Script Date: 28-05-2018 18:12:28 ******/
12324SET ANSI_NULLS ON
12325GO
12326SET QUOTED_IDENTIFIER ON
12327GO
12328
12329
12330
12331/* ë ˆë²¨ ì—…ë°ì´íЏ */
12332CREATE PROC [dbo].[spUpdateCharLevel]
12333 @Level smallint,
12334 @CID int
12335AS
12336SET NOCOUNT ON
12337UPDATE Character
12338Set Level=@Level
12339WHERE CID=@CID
12340
12341
12342
12343
12344
12345
12346GO
12347/****** Object: StoredProcedure [dbo].[spUpdateCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
12348SET ANSI_NULLS ON
12349GO
12350SET QUOTED_IDENTIFIER ON
12351GO
12352
12353
12354
12355
12356
12357/* ìºë¦í„° í”Œë ˆì´ ì‹œê°„ ì—…ë°ì´íЏ */
12358CREATE PROC [dbo].[spUpdateCharPlayTime]
12359 @PlayTimeInc int,
12360 @CID int
12361AS
12362SET NOCOUNT ON
12363
12364UPDATE Character
12365SET PlayTime=PlayTime+(@PlayTimeInc), LastTime=GETDATE()
12366WHERE CID=@CID
12367
12368
12369
12370
12371
12372
12373GO
12374/****** Object: StoredProcedure [dbo].[spUpdateClanGrade] Script Date: 28-05-2018 18:12:28 ******/
12375SET ANSI_NULLS ON
12376GO
12377SET QUOTED_IDENTIFIER ON
12378GO
12379
12380
12381
12382
12383-- 권한 변경
12384CREATE PROC [dbo].[spUpdateClanGrade]
12385 @CLID int,
12386 @CID int,
12387 @NewGrade tinyint
12388AS
12389 SET NOCOUNT ON
12390 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
12391
12392
12393
12394
12395
12396GO
12397/****** Object: StoredProcedure [dbo].[spUpdateEquipItem] Script Date: 28-05-2018 18:12:28 ******/
12398SET ANSI_NULLS ON
12399GO
12400SET QUOTED_IDENTIFIER ON
12401GO
12402
12403
12404/* ì•„ì´í…œ 장비 */
12405CREATE PROC [dbo].[spUpdateEquipItem]
12406 @CID int,
12407 @ItemParts int,
12408 @CIID int,
12409 @ItemID int
12410AS
12411
12412SET NoCount ON
12413
12414DECLARE @Ret int
12415DECLARE @IF_CIID int
12416
12417SELECT @Ret = 1
12418
12419-- Head
12420IF @ItemParts = 0
12421BEGIN
12422 IF @CIID = 0
12423 BEGIN
12424 UPDATE Character SET head_slot=NULL, head_itemid=NULL WHERE CID=@CID
12425 END
12426 ELSE
12427 BEGIN
12428 UPDATE Character SET head_slot=@CIID, head_itemid=@ItemID WHERE CID=@CID
12429 END
12430END
12431-- Chest
12432ELSE IF @ItemParts = 1
12433BEGIN
12434 IF @CIID = 0
12435 BEGIN
12436 UPDATE Character SET chest_slot=NULL, chest_itemid=NULL WHERE CID=@CID
12437 END
12438 ELSE
12439 BEGIN
12440 UPDATE Character SET chest_slot=@CIID, chest_itemid=@ItemID WHERE CID=@CID
12441 END
12442END
12443-- Hands
12444ELSE IF @ItemParts = 2
12445BEGIN
12446 IF @CIID = 0
12447 BEGIN
12448 UPDATE Character SET hands_slot=NULL, hands_itemid=NULL WHERE CID=@CID
12449 END
12450 ELSE
12451 BEGIN
12452 UPDATE Character SET hands_slot=@CIID, hands_itemid=@ItemID WHERE CID=@CID
12453 END
12454END
12455-- Legs
12456ELSE IF @ItemParts = 3
12457BEGIN
12458 IF @CIID = 0
12459 BEGIN
12460 UPDATE Character SET legs_slot=NULL, legs_itemid=NULL WHERE CID=@CID
12461 END
12462 ELSE
12463 BEGIN
12464 UPDATE Character SET legs_slot=@CIID, legs_itemid=@ItemID WHERE CID=@CID
12465 END
12466END
12467-- Feet
12468ELSE IF @ItemParts = 4
12469BEGIN
12470 IF @CIID = 0
12471 BEGIN
12472 UPDATE Character SET feet_slot=NULL, feet_itemid=NULL WHERE CID=@CID
12473 END
12474 ELSE
12475 BEGIN
12476 UPDATE Character SET feet_slot=@CIID, feet_itemid=@ItemID WHERE CID=@CID
12477 END
12478END
12479-- FingerL
12480ELSE IF @ItemParts = 5
12481BEGIN
12482 IF @CIID = 0
12483 BEGIN
12484 UPDATE Character SET fingerl_slot=NULL, fingerl_itemid=NULL WHERE CID=@CID
12485 END
12486 ELSE
12487 BEGIN
12488 SELECT @IF_CIID = fingerr_slot FROM Character(nolock) WHERE CID=@CID
12489 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12490 BEGIN
12491 SELECT @Ret = 0
12492 END
12493 ELSE
12494 BEGIN
12495 UPDATE Character SET fingerl_slot=@CIID, fingerl_itemid=@ItemID WHERE CID=@CID
12496 END
12497 END
12498END
12499-- FingerR
12500ELSE IF @ItemParts = 6
12501BEGIN
12502 IF @CIID = 0
12503 BEGIN
12504 UPDATE Character SET fingerr_slot=NULL, fingerr_itemid=NULL WHERE CID=@CID
12505 END
12506 ELSE
12507 BEGIN
12508 SELECT @IF_CIID = fingerl_slot FROM Character(nolock) WHERE CID=@CID
12509 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12510 BEGIN
12511 SELECT @Ret = 0
12512 END
12513 ELSE
12514 BEGIN
12515 UPDATE Character SET fingerr_slot=@CIID, fingerr_itemid=@ItemID WHERE CID=@CID
12516 END
12517 END
12518END
12519-- Melee
12520ELSE IF @ItemParts = 7
12521BEGIN
12522 IF @CIID = 0
12523 BEGIN
12524 UPDATE Character SET melee_slot=NULL, melee_itemid=NULL WHERE CID=@CID
12525 END
12526 ELSE
12527 BEGIN
12528 UPDATE Character SET melee_slot=@CIID, melee_itemid=@ItemID WHERE CID=@CID
12529 END
12530END
12531-- Primary
12532ELSE IF @ItemParts = 8
12533BEGIN
12534 IF @CIID = 0
12535 BEGIN
12536 UPDATE Character SET primary_slot=NULL, primary_itemid=NULL WHERE CID=@CID
12537 END
12538 ELSE
12539 BEGIN
12540 SELECT @IF_CIID = secondary_slot FROM Character(nolock) WHERE CID=@CID
12541 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12542 BEGIN
12543 SELECT @Ret = 0
12544 END
12545 ELSE
12546 BEGIN
12547 UPDATE Character SET primary_slot=@CIID, primary_itemid=@ItemID WHERE CID=@CID
12548 END
12549 END
12550END
12551-- Secondary
12552ELSE IF @ItemParts = 9
12553BEGIN
12554 IF @CIID = 0
12555 BEGIN
12556 UPDATE Character SET secondary_slot=NULL, secondary_itemid=NULL WHERE CID=@CID
12557 END
12558 ELSE
12559 BEGIN
12560 SELECT @IF_CIID = primary_slot FROM Character(nolock) WHERE CID=@CID
12561 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12562 BEGIN
12563 SELECT @Ret = 0
12564 END
12565 ELSE
12566 BEGIN
12567 UPDATE Character SET secondary_slot=@CIID, secondary_itemid=@ItemID WHERE CID=@CID
12568 END
12569 END
12570END
12571-- Custom1
12572ELSE IF @ItemParts = 10
12573BEGIN
12574 IF @CIID = 0
12575 BEGIN
12576 UPDATE Character SET custom1_slot=NULL, custom1_itemid=NULL WHERE CID=@CID
12577 END
12578 ELSE
12579 BEGIN
12580 SELECT @IF_CIID = custom2_slot FROM Character(nolock) WHERE CID=@CID
12581 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12582 BEGIN
12583 SELECT @Ret = 0
12584 END
12585 ELSE
12586 BEGIN
12587 UPDATE Character SET custom1_slot=@CIID, custom1_itemid=@ItemID WHERE CID=@CID
12588 END
12589 END
12590END
12591-- Custom2
12592ELSE IF @ItemParts = 11
12593BEGIN
12594 IF @CIID = 0
12595 BEGIN
12596 UPDATE Character SET custom2_slot=NULL, custom2_itemid=NULL WHERE CID=@CID
12597 END
12598 ELSE
12599 BEGIN
12600 SELECT @IF_CIID = custom1_slot FROM Character(nolock) WHERE CID=@CID
12601 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12602 BEGIN
12603 SELECT @Ret = 0
12604 END
12605 ELSE
12606 BEGIN
12607 UPDATE Character SET custom2_slot=@CIID, custom2_itemid=@ItemID WHERE CID=@CID
12608 END
12609 END
12610END
12611
12612
12613
12614SELECT @Ret AS Ret
12615
12616
12617
12618
12619
12620
12621GO
12622/****** Object: StoredProcedure [dbo].[spUpdateLastConnDate] Script Date: 28-05-2018 18:12:28 ******/
12623SET ANSI_NULLS ON
12624GO
12625SET QUOTED_IDENTIFIER ON
12626GO
12627
12628
12629/* LastConn, IP를 ì €ìž¥í•œë‹¤. */
12630CREATE PROC [dbo].[spUpdateLastConnDate]
12631 @IP varchar(20),
12632 @UserID varchar(20)
12633AS
12634SET NOCOUNT ON
12635UPDATE Login SET LastConnDate=GETDATE(), LastIP=@IP WHERE UserID = @UserID
12636
12637
12638
12639
12640
12641
12642GO
12643/****** Object: StoredProcedure [dbo].[spUpdateLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12644SET ANSI_NULLS ON
12645GO
12646SET QUOTED_IDENTIFIER ON
12647GO
12648
12649CREATE PROC [dbo].[spUpdateLocatorStatus]
12650 @LocatorID int
12651, @RecvCount int
12652, @SendCount int
12653, @BlockCount int
12654, @DuplicatedCount int
12655AS
12656 SET NOCOUNT ON
12657 UPDATE LocatorStatus
12658 SET RecvCount = @RecvCount, SendCount = @SendCount,
12659 BlockCount = @BlockCount, DuplicatedCount = @DuplicatedCount,
12660 LastUpdatedTime = GETDATE()
12661 WHERE LocatorID = @LocatorID
12662
12663
12664
12665
12666GO
12667/****** Object: StoredProcedure [dbo].[spUpdateServerStatus] Script Date: 28-05-2018 18:12:28 ******/
12668SET ANSI_NULLS ON
12669GO
12670SET QUOTED_IDENTIFIER ON
12671GO
12672
12673
12674
12675/* 서버 ë™ì ‘ìž ìƒíƒœ */
12676CREATE PROC [dbo].[spUpdateServerStatus]
12677 @CurrPlayer smallint,
12678 @ServerID int
12679AS
12680SET NOCOUNT ON
12681UPDATE ServerStatus
12682Set CurrPlayer=@CurrPlayer, Time=GETDATE()
12683WHERE ServerID=@ServerID
12684
12685
12686
12687
12688
12689
12690GO
12691/****** Object: StoredProcedure [dbo].[spWebCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
12692SET ANSI_NULLS ON
12693GO
12694SET QUOTED_IDENTIFIER ON
12695GO
12696
12697CREATE PROC [dbo].[spWebCheckRegisteredUser]
12698 @UserID VARCHAR(20),
12699 @Ret int Output
12700AS
12701 SET NOCOUNT ON
12702 DECLARE @AID INT
12703 SELECT @AID = AID FROM Account(NOLOCK) WHERE UserID = @UserID
12704 IF @@ERROR <> 0 BEGIN
12705 SET @Ret = 0
12706 RETURN @Ret -- 디비장ì•
12707 END
12708
12709 IF @AID IS NULL BEGIN
12710 SET @Ret = -1
12711 RETURN @Ret -- 미가입ìž
12712 END
12713
12714 SET @Ret = 1
12715 RETURN @Ret -- ê°€ìž…ìž í™•ì¸
12716
12717
12718
12719
12720GO
12721/****** Object: StoredProcedure [dbo].[spWebDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
12722SET ANSI_NULLS ON
12723GO
12724SET QUOTED_IDENTIFIER ON
12725GO
12726
12727
12728
12729-- 웹ì—서 í´ëžœ í쇄.
12730CREATE PROC [dbo].[spWebDeleteClan]
12731 @MasterName varchar(24) /* 마스터 ì´ë¦„ */
12732, @ClanName varchar(24) /* ë°©ì¶œí• í´ëžœì› ì´ë¦„ */
12733AS
12734SET NOCOUNT ON
12735BEGIN TRAN
12736 SET NOCOUNT ON
12737
12738 DECLARE @MasterCID int
12739 DECLARE @CLID int
12740
12741 SELECT @MasterCID = c.MasterCID, @CLID = c.CLID
12742 FROM Clan c (NOLOCK), Character ch(NOLOCK)
12743 WHERE ch.Name = @MasterName AND c.MasterCID = ch.CID
12744
12745 -- ìš”ì² ì¡°ê±´ 검사.
12746 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12747 BEGIN
12748 SELECT 0 AS Ret
12749 ROLLBACK TRAN
12750 SET NOCOUNT OFF
12751 RETURN
12752 END
12753
12754 -- Clan Member ì‚ì œ.
12755 DELETE ClanMember WHERE CLID = @CLID
12756 IF 0 <> @@ERROR
12757 BEGIN
12758 SELECT 0 AS Ret
12759 ROLLBACK TRAN
12760 SET NOCOUNT OFF
12761 RETURN
12762 END
12763
12764 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
12765 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
12766 IF 0 = @@ROWCOUNT BEGIN
12767 SELECT 0 AS Ret
12768 ROLLBACK TRAN
12769 SET NOCOUNT OFF
12770 RETURN
12771 END
12772
12773 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
12774 IF 0 = @@ROWCOUNT BEGIN
12775 SELECT 0 AS Ret
12776 ROLLBACK TRAN
12777 SET NOCOUNT OFF
12778 RETURN
12779 END
12780
12781 SELECT 1 AS Ret
12782
12783 SET NOCOUNT OFF
12784COMMIT TRAN
12785
12786
12787
12788
12789
12790GO
12791/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
12792SET ANSI_NULLS ON
12793GO
12794SET QUOTED_IDENTIFIER ON
12795GO
12796
12797
12798----------------------------------------------------------------------------
12799
12800-- 게시물 ì‚ì œ
12801CREATE PROC [dbo].[spWebDeleteClanAdsBoard]
12802 @Seq int
12803AS
12804 SET NOCOUNT ON
12805 BEGIN TRAN
12806 DELETE ClanAdsBoard WHERE Seq = @Seq
12807 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12808 ROLLBACK TRAN
12809 RETURN
12810 END
12811
12812 DECLARE @SEQCOUNT int
12813
12814 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanAdsComment(NOLOCK) WHERE Seq = @Seq
12815
12816 IF ( @SEQCOUNT > 0) BEGIN
12817 DELETE ClanAdsComment WHERE Seq = @Seq
12818 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12819 ROLLBACK TRAN
12820 RETURN
12821 END
12822 END
12823 COMMIT TRAN
12824
12825
12826
12827
12828GO
12829/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
12830SET ANSI_NULLS ON
12831GO
12832SET QUOTED_IDENTIFIER ON
12833GO
12834
12835
12836----------------------------------------------------------------------------
12837
12838-- 코멘트 게시물 ì‚ì œ
12839CREATE PROC [dbo].[spWebDeleteClanAdsComment]
12840 @ID int
12841AS
12842 SET NOCOUNT ON
12843 DECLARE @Seq int
12844
12845 SELECT @Seq = Seq FROM ClanAdsComment(NOLOCK) WHERE ID = @ID
12846
12847 BEGIN TRAN
12848 DELETE ClanAdsComment WHERE ID = @ID
12849 IF (@@ERROR <> 0) BEGIN
12850 ROLLBACK TRAN
12851 RETURN
12852 END
12853
12854 UPDATE ClanAdsBoard SET CommentCount = CommentCount - 1 WHERE Seq = @Seq
12855 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12856 ROLLBACK TRAN
12857 RETURN
12858 END
12859
12860 COMMIT TRAN
12861
12862
12863
12864
12865GO
12866/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoard] Script Date: 28-05-2018 18:12:28 ******/
12867SET ANSI_NULLS ON
12868GO
12869SET QUOTED_IDENTIFIER ON
12870GO
12871
12872
12873--------------------------------------------------------------------------------------------------------
12874
12875-- 게시물 ì‚ì œ
12876
12877CREATE PROC [dbo].[spWebDeleteClanBoard]
12878 @Seq int
12879AS
12880 SET NOCOUNT ON
12881 BEGIN TRAN
12882 DELETE ClanBoard WHERE Seq = @Seq
12883 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12884 ROLLBACK TRAN
12885 RETURN
12886 END
12887
12888 DECLARE @SEQCOUNT int
12889
12890 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanBoardComment(NOLOCK) WHERE Seq = @Seq
12891
12892 IF ( @SEQCOUNT > 0) BEGIN
12893 DELETE ClanBoardComment WHERE Seq = @Seq
12894 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12895 ROLLBACK TRAN
12896 RETURN
12897 END
12898 END
12899 COMMIT TRAN
12900
12901
12902
12903
12904
12905GO
12906/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
12907SET ANSI_NULLS ON
12908GO
12909SET QUOTED_IDENTIFIER ON
12910GO
12911
12912
12913--------------------------------------------------------------------------------------------------------
12914
12915-- 코멘트 게시물 ì‚ì œ
12916
12917CREATE PROC [dbo].[spWebDeleteClanBoardComment]
12918 @ID int
12919AS
12920 SET NOCOUNT ON
12921 DECLARE @Seq int
12922
12923 SELECT @Seq = Seq FROM ClanBoardComment(NOLOCK) Where ID = @ID
12924
12925 BEGIN TRAN
12926 DELETE ClanBoardComment WHERE ID = @ID
12927 IF (@@ERROR <> 0) BEGIN
12928 ROLLBACK TRAN
12929 RETURN
12930 END
12931
12932 Update ClanBoard Set CommentCount = CommentCount - 1 WHERE Seq = @Seq
12933 IF (0 <> @@ERROR) BEGIN
12934 ROLLBACK TRAN
12935 RETURN
12936 END
12937 COMMIT TRAN
12938
12939
12940
12941
12942GO
12943/****** Object: StoredProcedure [dbo].[spWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
12944SET ANSI_NULLS ON
12945GO
12946SET QUOTED_IDENTIFIER ON
12947GO
12948
12949
12950
12951-- CID로 í´ëžœ í쇄.
12952CREATE PROC [dbo].[spWebDeleteClanByCID]
12953 @MasterCID int /* 마스터 CID */
12954AS
12955SET NOCOUNT ON
12956BEGIN TRAN
12957
12958 DECLARE @CLID int
12959
12960 SELECT @CLID = c.CLID
12961 FROM Clan c(NOLOCK)
12962 WHERE c.MasterCID = @MasterCID
12963
12964 -- ìš”ì² ì¡°ê±´ 검사.
12965 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12966 BEGIN
12967 SELECT 0 AS Ret
12968 ROLLBACK TRAN
12969-- SET NOCOUNT OFF
12970 Select 0
12971 RETURN
12972 END
12973
12974 -- Clan Member ì‚ì œ.
12975 DELETE ClanMember WHERE CLID = @CLID
12976 IF 0 <> @@ERROR
12977 BEGIN
12978 SELECT 0 AS Ret
12979 ROLLBACK TRAN
12980-- SET NOCOUNT OFF
12981 Select 0
12982 RETURN
12983 END
12984
12985 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
12986 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
12987 -- UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
12988 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
12989 SELECT 0 AS Ret
12990 ROLLBACK TRAN
12991 Select 0
12992 RETURN
12993 END
12994 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
12995 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
12996 SELECT 0 AS Ret
12997 ROLLBACK TRAN
12998 Select 0
12999 RETURN
13000 END
13001
13002 SELECT 1
13003
13004
13005COMMIT TRAN
13006SET NOCOUNT OFF
13007
13008
13009
13010
13011
13012GO
13013/****** Object: StoredProcedure [dbo].[spWebFireClanMember] Script Date: 28-05-2018 18:12:28 ******/
13014SET ANSI_NULLS ON
13015GO
13016SET QUOTED_IDENTIFIER ON
13017GO
13018
13019
13020
13021-- 마스터가 í´ëžœì› ë°©ì¶œ.
13022CREATE PROC [dbo].[spWebFireClanMember]
13023 @Master varchar(24) /* í´ëžœ 마스터 CID */
13024, @ClanMem varchar(24) /* ë°©ì¶œí• í´ëžœì› ìºë¦í„° CID */
13025AS
13026SET NOCOUNT ON
13027BEGIN TRAN
13028 DECLARE @MasterCID int
13029 DECLARE @CLID int
13030 DECLARE @ClanMemCID int
13031
13032 -- ìžê²© 검사를 위해 í´ëžœì•„ì´ë””와 마스터 ì•„ì´í‹°ë¥¼ 구함.
13033 SELECT @CLID = cl.CLID, @MasterCID = cl.MasterCID
13034 FROM Character ch(NOLOCK), Clan cl(NOLOCK)
13035 WHERE ch.Name = @Master AND cl.MasterCID = ch.CID
13036
13037 -- ë°©ì¶©í•˜ë ¤ëŠ” í´ëžœ 맴버.
13038 SELECT @ClanMemCID = ch.CID
13039 FROM Character ch(NOLOCK)
13040 WHERE ch.Name = @ClanMem
13041
13042 -- í´ëžœì´ ì¡´ìž¬í•˜ê³ í´ëžœë§´ë²„ê°€ 존재해야 í•˜ê³ ë°©ì¶œë˜ëŠ” 맴버가 마스터가 아니어야 함.
13043 IF (@CLID IS NULL) OR (@ClanMemCID IS NULL) OR (@MasterCID = @ClanMemCID)
13044 BEGIN
13045 ROLLBACK TRAN
13046 SELECT 0
13047 RETURN
13048 END
13049
13050 DELETE ClanMember
13051 WHERE CLID = @CLID AND CID = @ClanMemCID
13052 IF 0 <> @@ERROR
13053 BEGIN
13054 ROLLBACK TRAN
13055 SELECT 0
13056 RETURN
13057 END
13058
13059 SELECT 1
13060COMMIT TRAN
13061SET NOCOUNT OFF
13062
13063
13064
13065
13066
13067GO
13068/****** Object: StoredProcedure [dbo].[spWebGetAccountMaxLevel] Script Date: 28-05-2018 18:12:28 ******/
13069SET ANSI_NULLS ON
13070GO
13071SET QUOTED_IDENTIFIER ON
13072GO
13073
13074
13075CREATE PROC [dbo].[spWebGetAccountMaxLevel]
13076 @UserID varchar(20)
13077AS
13078BEGIN
13079 SET NOCOUNT ON
13080 SELECT MAX(c.Level) FROM Account a(NOLOCK), Character c(NOLOCK)
13081 WHERE a.UserID=@UserID AND a.AID=c.AID AND c.DeleteFlag=0
13082END
13083
13084
13085
13086
13087
13088
13089GO
13090/****** Object: StoredProcedure [dbo].[spWebGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13091SET ANSI_NULLS ON
13092GO
13093SET QUOTED_IDENTIFIER ON
13094GO
13095
13096
13097
13098-- ì´ë¯¸ì§€ íŒŒì¼ ì´ë¦„ê³¼ ì•„ì´í…œ ì´ë¦„ì„ ê°€ì ¸ì˜´.
13099CREATE PROC [dbo].[spWebGetCashItemImageFile]
13100 @CSID int
13101, @RetImageFileName varchar(64) OUT
13102, @RetItemName varchar(256) OUT
13103AS
13104BEGIN
13105 SET NOCOUNT ON
13106 SELECT @RetImageFileName = cs.WebImgName, @RetItemName = i.Name
13107 FROM CashShop cs(NOLOCK), Item i(NOLOCK)
13108 WHERE cs.CSID = @CSID AND i.ItemID = cs.ItemID
13109
13110 RETURN 1
13111END
13112
13113
13114
13115
13116
13117GO
13118/****** Object: StoredProcedure [dbo].[spWebGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13119SET ANSI_NULLS ON
13120GO
13121SET QUOTED_IDENTIFIER ON
13122GO
13123
13124
13125
13126-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ê³¼ ì•„ì´í…œ ì´ë¦„ 알아오기.
13127CREATE PROC [dbo].[spWebGetCashSetItemImageFile]
13128 @CSSID int
13129, @RetImageFileName varchar(64) OUTPUT
13130, @RetSetItemName varchar(64) OUTPUT
13131AS
13132SET NOCOUNT ON
13133BEGIN
13134 SELECT @RetImageFileName = css.WebImgName, @RetSetItemName = css.Name
13135 FROM CashSetShop css(NOLOCK)
13136 WHERE css.CSSID=@CSSID
13137
13138 RETURN 1
13139END
13140
13141
13142
13143
13144
13145GO
13146/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13147SET ANSI_NULLS ON
13148GO
13149SET QUOTED_IDENTIFIER ON
13150GO
13151
13152
13153----------------------------------------------------------------------------
13154
13155-- 게시물 내용 조회
13156CREATE PROC [dbo].[spWebGetClanAdsBoardContent]
13157 @Seq int
13158AS
13159 SET NOCOUNT ON
13160 SELECT Seq, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13161 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13162 FROM ClanAdsBoard
13163 WHERE Seq = @Seq
13164 ORDER BY Thread DESC
13165
13166
13167
13168
13169GO
13170/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardList] Script Date: 28-05-2018 18:12:28 ******/
13171SET ANSI_NULLS ON
13172GO
13173SET QUOTED_IDENTIFIER ON
13174GO
13175
13176
13177----------------------------------------------------------------------------
13178
13179-- 게시물 조회
13180CREATE PROC [dbo].[spWebGetClanAdsBoardList]
13181AS
13182 SET NOCOUNT ON
13183 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13184 FROM ClanAdsBoard(NOLOCK)
13185 ORDER BY Thread DESC
13186
13187
13188
13189
13190GO
13191/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13192SET ANSI_NULLS ON
13193GO
13194SET QUOTED_IDENTIFIER ON
13195GO
13196
13197
13198----------------------------------------------------------------------------
13199
13200-- 게시물 코멘트 내용 조회
13201CREATE PROC [dbo].[spWebGetClanAdsCommentContent]
13202 @Seq int
13203AS
13204 SET NOCOUNT ON
13205 SELECT ID, Userid, Content, RegDate
13206 FROM ClanAdsComment(NOLOCK)
13207 WHERE Seq = @Seq
13208 ORDER BY RegDate
13209
13210
13211
13212
13213GO
13214/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13215SET ANSI_NULLS ON
13216GO
13217SET QUOTED_IDENTIFIER ON
13218GO
13219
13220
13221----------------------------------------------------------------------------
13222
13223CREATE PROC [dbo].[spWebGetClanAdsCommentContentByID]
13224 @ID int
13225AS
13226 SET NOCOUNT ON
13227 SELECT ID, Userid, Content, RegDate
13228 FROM ClanAdsComment(NOLOCK)
13229 WHERE ID = @ID
13230 ORDER BY RegDate
13231
13232
13233
13234
13235GO
13236/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13237SET ANSI_NULLS ON
13238GO
13239SET QUOTED_IDENTIFIER ON
13240GO
13241
13242
13243--------------------------------------------------------------------------------------------------------
13244
13245-- 게시물 코멘트 내용 조회
13246
13247CREATE PROC [dbo].[spWebGetClanBoardCommentContent]
13248 @Seq int
13249AS
13250 SET NOCOUNT ON
13251 SELECT ID, Userid, Content, RegDate
13252 FROM ClanBoardComment (NOLOCK)
13253 WHERE Seq = @Seq
13254 ORDER BY RegDate
13255
13256
13257
13258
13259GO
13260/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13261SET ANSI_NULLS ON
13262GO
13263SET QUOTED_IDENTIFIER ON
13264GO
13265
13266
13267--------------------------------------------------------------------------------------------------------
13268
13269-- 게시물 코멘트 내용 조회 By ID
13270
13271CREATE PROC [dbo].[spWebGetClanBoardCommentContentByID]
13272 @ID int
13273AS
13274 SET NOCOUNT ON
13275 SELECT ID, Userid, Content, RegDate
13276 FROM ClanBoardComment(NOLOCK)
13277 WHERE ID = @ID
13278 ORDER BY RegDate
13279
13280
13281
13282
13283GO
13284/****** Object: StoredProcedure [dbo].[spWebGetClanBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13285SET ANSI_NULLS ON
13286GO
13287SET QUOTED_IDENTIFIER ON
13288GO
13289
13290
13291--------------------------------------------------------------------------------------------------------
13292
13293-- 게시물 내용 조회
13294
13295CREATE PROC [dbo].[spWebGetClanBoardContent]
13296 @Seq int
13297AS
13298 SET NOCOUNT ON
13299 SELECT Seq, CLID, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13300 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13301 FROM ClanBoard (NOLOCK)
13302 WHERE Seq = @Seq
13303 ORDER BY Thread DESC
13304
13305
13306
13307
13308GO
13309/****** Object: StoredProcedure [dbo].[spWebGetClanBoardList] Script Date: 28-05-2018 18:12:28 ******/
13310SET ANSI_NULLS ON
13311GO
13312SET QUOTED_IDENTIFIER ON
13313GO
13314
13315
13316--------------------------------------------------------------------------------------------------------
13317
13318-- 게시물 조회
13319
13320CREATE PROC [dbo].[spWebGetClanBoardList]
13321 @CLID int
13322AS
13323 SET NOCOUNT ON
13324 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13325 FROM ClanBoard(NOLOCK)
13326 WHERE CLID = @CLID
13327 ORDER BY Thread DESC
13328
13329
13330
13331
13332GO
13333/****** Object: StoredProcedure [dbo].[spWebGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
13334SET ANSI_NULLS ON
13335GO
13336SET QUOTED_IDENTIFIER ON
13337GO
13338
13339
13340
13341
13342/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
13343 Arg1 : @CharName (í´ëžœ 마스터 ì´ë¦„) */
13344CREATE PROC [dbo].[spWebGetClanListSearchByMaster]
13345 @CharName VARCHAR(24)
13346AS
13347SET NOCOUNT ON
13348BEGIN
13349 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
13350 FROM Clan cl(NOLOCK), Character c(nolock)
13351 WHERE c.Name = @CharName AND cl.DeleteFlag = 0 AND cl.MasterCID = c.CID
13352END
13353
13354
13355
13356
13357
13358GO
13359/****** Object: StoredProcedure [dbo].[spWebGetClanMembers] Script Date: 28-05-2018 18:12:28 ******/
13360SET ANSI_NULLS ON
13361GO
13362SET QUOTED_IDENTIFIER ON
13363GO
13364
13365CREATE PROC [dbo].[spWebGetClanMembers]
13366 @CLID int
13367AS
13368 SET NOCOUNT ON
13369 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
13370 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
13371 ON cm.CLID = @CLID AND c.CID = cm.CID
13372 ORDER BY cm.RegDate DESC
13373
13374
13375
13376
13377GO
13378/****** Object: StoredProcedure [dbo].[spWebGetClanRankByMaster] Script Date: 28-05-2018 18:12:28 ******/
13379SET ANSI_NULLS ON
13380GO
13381SET QUOTED_IDENTIFIER ON
13382GO
13383
13384
13385
13386-- í´ëžœ ëží‚¹ì„ 마스터 ì´ë¦„ì„ ì‚¬ìš©í•´ì„œ 검색.
13387CREATE PROC [dbo].[spWebGetClanRankByMaster]
13388 @MasterName varchar(24)
13389AS
13390SET NOCOUNT ON
13391BEGIN
13392 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
13393 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
13394 ON c.Name = @MasterName AND cl.MasterCID = c.CID AND cl.Ranking > 0
13395END
13396
13397
13398
13399
13400
13401GO
13402/****** Object: StoredProcedure [dbo].[spWebGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
13403SET ANSI_NULLS ON
13404GO
13405SET QUOTED_IDENTIFIER ON
13406GO
13407
13408
13409
13410-- Masterì´ë¦„ê³¼ RegDate추가.
13411/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
13412 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
13413 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
13414CREATE PROC [dbo].[spWebGetClanRanking]
13415 @Page INT,
13416 @Backward INT = 0
13417AS
13418SET NOCOUNT ON
13419BEGIN
13420 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
13421 DECLARE @RowCount INT
13422 DECLARE @PageHead INT
13423
13424 IF @Backward = 0
13425 BEGIN
13426 SELECT @RowCount = ((@Page -1) * 20 + 1)
13427 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
13428 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13429 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
13430 ORDER BY cl.Ranking
13431 END
13432 ELSE
13433 BEGIN
13434 SELECT @RowCount = ((@Page -1) * 20 + 1)
13435
13436 SET ROWCOUNT @RowCount
13437 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
13438
13439 SET ROWCOUNT 20
13440 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
13441 (
13442 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
13443 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
13444 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13445 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
13446 ORDER BY cl.Ranking DESC
13447 ) AS t ORDER BY Ranking
13448 END
13449END
13450
13451
13452
13453
13454
13455GO
13456/****** Object: StoredProcedure [dbo].[spWebGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
13457SET ANSI_NULLS ON
13458GO
13459SET QUOTED_IDENTIFIER ON
13460GO
13461
13462
13463
13464-- í´ëžœ ì´ë¦„으로 검색.
13465CREATE PROC [dbo].[spWebGetClanRankingSearchByName]
13466 @Name VARCHAR(24) /* í´ëžœ ì´ë¦„ */
13467AS
13468SET NOCOUNT ON
13469BEGIN
13470 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
13471 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13472 WHERE ch.CID = cl.MasterCID AND cl.Ranking>0 AND cl.DeleteFlag=0 AND cl.Name=@Name
13473END
13474
13475
13476
13477
13478
13479GO
13480/****** Object: StoredProcedure [dbo].[spWebGetCLIDbyUserID] Script Date: 28-05-2018 18:12:28 ******/
13481SET ANSI_NULLS ON
13482GO
13483SET QUOTED_IDENTIFIER ON
13484GO
13485
13486CREATE PROC [dbo].[spWebGetCLIDbyUserID]
13487 @UserID varchar(20)
13488AS
13489 SET NOCOUNT ON
13490 SELECT cm.CLID
13491 FROM Account ac(NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK)
13492 WHERE ac.UserID = @UserID AND ch.AID = ac.AID AND cm.CID = ch.CID
13493
13494
13495
13496
13497GO
13498/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfo] Script Date: 28-05-2018 18:12:28 ******/
13499SET ANSI_NULLS ON
13500GO
13501SET QUOTED_IDENTIFIER ON
13502GO
13503
13504
13505
13506-- Myëží‚¹ì •ë³´.
13507CREATE PROC [dbo].[spWebGetMyClanInfo]
13508 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13509AS
13510SET NOCOUNT ON
13511BEGIN
13512 DECLARE @CLID int
13513
13514 SELECT @CLID = cm.CLID
13515 FROM Account a (NOLOCK), Character c (NOLOCK), ClanMember cm (NOLOCK)
13516 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID
13517
13518 IF @CLID IS NOT NULL
13519 BEGIN
13520 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13521 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13522 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13523 END
13524END
13525
13526
13527
13528
13529
13530GO
13531/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
13532SET ANSI_NULLS ON
13533GO
13534SET QUOTED_IDENTIFIER ON
13535GO
13536
13537
13538
13539-- Myëží‚¹ì •보를 CID로 ê°€ì ¸ì˜´.
13540CREATE PROC [dbo].[spWebGetMyClanInfoByCID]
13541 @CID int /* ìºë¦í„° CID */
13542AS
13543SET NOCOUNT ON
13544BEGIN
13545 SELECT t.Name, t.Name AS Master, t.IntroDuction, t.RegDate, t.Homepage, t.EmblemUrl, t.Ranking
13546 FROM
13547 (
13548 SELECT cl.Name, cl.MasterCID, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13549 FROM ClanMember cm(NOLOCK), Clan cl(NOLOCK), Character ch(NOLOCK)
13550 WHERE cm.CID = @CID AND cl.CLID = cm.CLID AND ch.CID = @CID
13551 ) AS t, Character ch(NOLOCK)
13552 WHERE t.MasterCID = ch.CID
13553END
13554
13555
13556
13557
13558
13559GO
13560/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
13561SET ANSI_NULLS ON
13562GO
13563SET QUOTED_IDENTIFIER ON
13564GO
13565
13566
13567
13568CREATE PROC [dbo].[spWebGetMyClanInfoByCLID]
13569 @CLID int
13570AS
13571SET NOCOUNT ON
13572BEGIN
13573 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13574 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13575 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13576END
13577
13578
13579
13580
13581
13582GO
13583/****** Object: StoredProcedure [dbo].[spWebGetMyClanList] Script Date: 28-05-2018 18:12:28 ******/
13584SET ANSI_NULLS ON
13585GO
13586SET QUOTED_IDENTIFIER ON
13587GO
13588
13589
13590
13591
13592-- 가입한 í´ëžœ 리스트를 Ranking으로 ì •ë ¬í•´ì„œ 보여줌. í´ëžœì´ 중복으로 ë³´ì¼ìˆ˜ 있ìŒ.
13593CREATE PROC [dbo].[spWebGetMyClanList]
13594 @UserID varchar(20) /* 넷마블 ì•„ì´ë”” */
13595AS
13596SET NOCOUNT ON
13597BEGIN
13598 SELECT t.Ranking, t.RankIncrease, t.ClanName, t.Point, t.Wins, t.Losses, t.CLID, t.EmblemUrl, ch.Name AS Master, t.RegDate
13599 FROM
13600 (
13601 SELECT cl.CLID, cl.Name AS ClanName, cl.Point, cl.Wins, cl.Losses, cl.EmblemUrl, cl.Ranking, cl.RankIncrease, cl.MasterCID, cl.RegDate
13602 FROM Account ac (NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK), Clan cl(NOLOCK)
13603 WHERE ac.UserID = @UserID AND ac.AID = ch.AID AND cm.CID = ch.CID AND cl.CLID = cm.CLID
13604 ) AS t, Character ch(NOLOCK)
13605 WHERE t.MasterCID = ch.CID ORDER BY t.Ranking DESC
13606END
13607
13608
13609
13610
13611
13612GO
13613/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13614SET ANSI_NULLS ON
13615GO
13616SET QUOTED_IDENTIFIER ON
13617GO
13618
13619CREATE PROC [dbo].[spWebInsertClanAdsBoard]
13620 @UserID varchar(20),
13621 @Subject varchar(50),
13622 @Content varchar(2000),
13623 @FileName varchar(128),
13624 @Link varchar(255),
13625 @HTML smallint
13626AS
13627 SET NOCOUNT ON
13628 DECLARE @NewThread int
13629 SELECT @NewThread = ISNULL(MAX(Thread), 0) + 1000 FROM ClanAdsBoard(NOLOCK)
13630
13631 BEGIN TRAN
13632 INSERT INTO ClanAdsboard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13633 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13634 IF 0 <> @@ERROR BEGIN
13635 ROLLBACK TRAN
13636 RETURN
13637 END
13638
13639 UPDATE ClanAdsBoard SET GR_ID = seq where GR_ID = 0
13640 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13641 ROLLBACK TRAN
13642 RETURN
13643 END
13644
13645 COMMIT TRAN
13646
13647
13648
13649
13650GO
13651/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
13652SET ANSI_NULLS ON
13653GO
13654SET QUOTED_IDENTIFIER ON
13655GO
13656
13657
13658----------------------------------------------------------------------------
13659
13660-- 코멘트 게시물 등ë¡
13661CREATE PROC [dbo].[spWebInsertClanAdsComment]
13662 @Seq int,
13663 @Userid varchar(20),
13664 @Content varchar(500)
13665AS
13666 SET NOCOUNT ON
13667
13668 BEGIN TRAN
13669 INSERT INTO ClanAdsComment (Seq, UserID, Content, RegDate)
13670 VALUES(@Seq, @UserID, @Content, GetDate())
13671 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13672 ROLLBACK TRAN
13673 RETURN
13674 END
13675
13676 UPDATE ClanAdsBoard SET CommentCount = CommentCount + 1 WHERE Seq = @Seq
13677 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13678 ROLLBACK TRAN
13679 RETURN
13680 END
13681
13682 COMMIT TRAN
13683
13684
13685
13686
13687GO
13688/****** Object: StoredProcedure [dbo].[spWebInsertClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13689SET ANSI_NULLS ON
13690GO
13691SET QUOTED_IDENTIFIER ON
13692GO
13693
13694
13695--------------------------------------------------------------------------------------------------------
13696
13697/***************************************************************************/
13698/**** í´ëžœ ê²Œì‹œíŒ ê´€ë ¨ í”„ë¡œì‹œì ¸ ****/
13699/***************************************************************************/
13700
13701
13702-- 게시물 등ë¡
13703
13704CREATE PROC [dbo].[spWebInsertClanBoard]
13705 @CLID int,
13706 @UserID varchar(20),
13707 @Subject varchar(50),
13708 @Content varchar(4000),
13709 @FileName varchar(128),
13710 @Link varchar(255),
13711 @HTML smallint
13712AS
13713 SET NOCOUNT ON
13714 DECLARE @NewThread int
13715 SELECT @NewThread = ISNULL(MAX(Thread),0) + 1000 FROM ClanBoard(NOLOCK)
13716
13717 BEGIN TRAN
13718 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13719 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13720 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13721 ROLLBACK TRAN
13722 RETURN
13723 END
13724
13725 UPDATE ClanBoard SET GR_ID = seq where GR_ID = 0
13726 IF( 0 <> @@ERROR) BEGIN
13727 ROLLBACK TRAN
13728 RETURN
13729 END
13730 COMMIT TRAN
13731
13732
13733
13734
13735GO
13736/****** Object: StoredProcedure [dbo].[spWebInsertClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
13737SET ANSI_NULLS ON
13738GO
13739SET QUOTED_IDENTIFIER ON
13740GO
13741
13742
13743--------------------------------------------------------------------------------------------------------
13744
13745-- 코멘트 게시물 등ë¡
13746
13747CREATE PROC [dbo].[spWebInsertClanBoardComment]
13748 @Seq int,
13749 @UserID varchar(20),
13750 @Content varchar(500)
13751AS
13752 SET NOCOUNT ON
13753 BEGIN TRAN
13754 INSERT INTO ClanBoardComment (Seq, UserID, Content, RegDate)
13755 VALUES(@Seq, @UserID, @Content, GetDate())
13756 IF (@@ERROR <> 0) BEGIN
13757 ROLLBACK TRAN
13758 RETURN
13759 END
13760
13761 Update ClanBoard Set CommentCount = CommentCount + 1 WHERE Seq = @Seq
13762 IF (0 <> @@ERROR) BEGIN
13763 ROLLBACK TRAN
13764 RETURN
13765 END
13766 COMMIT TRAN
13767
13768
13769
13770
13771GO
13772/****** Object: StoredProcedure [dbo].[spWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
13773SET ANSI_NULLS ON
13774GO
13775SET QUOTED_IDENTIFIER ON
13776GO
13777
13778
13779
13780-- ìºì‰¬ì•„ì´í…œ 사용기ë¡
13781CREATE PROC [dbo].[spWebItemUseLog]
13782 @UserID VARCHAR(32)
13783AS
13784SET NOCOUNT ON
13785BEGIN
13786
13787 DECLARE @TargetAID INT
13788 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
13789
13790 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
13791 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
13792 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
13793 ORDER BY Date DESC
13794END
13795
13796
13797
13798
13799
13800
13801
13802GO
13803/****** Object: StoredProcedure [dbo].[spWebLeaveClan] Script Date: 28-05-2018 18:12:28 ******/
13804SET ANSI_NULLS ON
13805GO
13806SET QUOTED_IDENTIFIER ON
13807GO
13808
13809
13810
13811-- ìžì‹ ì˜ í´ëžœ 탈퇴.
13812CREATE PROC [dbo].[spWebLeaveClan]
13813 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13814AS
13815BEGIN TRAN
13816 SET NOCOUNT ON
13817
13818 DECLARE @CLID int
13819 DECLARE @CID int
13820 DECLARE @MasterCID int
13821
13822 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13823 SELECT @CLID = cm.CLID, @CID = c.CID, @MasterCID = cl.MasterCID
13824 FROM Account a (NOLOCK), Character c (NOLOCK), Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13825 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID AND cl.CLID = cm.CLID
13826
13827 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13828 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13829 BEGIN
13830 ROLLBACK TRAN
13831 SET NOCOUNT OFF
13832 RETURN
13833 END
13834
13835 DELETE ClanMember WHERE CID = @CID
13836 IF 0 <> @@ERROR
13837 BEGIN
13838 ROLLBACK TRAN
13839 SET NOCOUNT OFF
13840 RETURN
13841 END
13842
13843 SET NOCOUNT OFF
13844COMMIT TRAN
13845
13846
13847
13848
13849
13850GO
13851/****** Object: StoredProcedure [dbo].[spWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
13852SET ANSI_NULLS ON
13853GO
13854SET QUOTED_IDENTIFIER ON
13855GO
13856
13857
13858
13859
13860-- CID로 í´ëžœ 탈퇴.
13861CREATE PROC [dbo].[spWebLeaveClanByCID]
13862 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
13863AS
13864SET NOCOUNT ON
13865BEGIN TRAN
13866
13867
13868 DECLARE @CLID int
13869 DECLARE @MasterCID int
13870
13871 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13872 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
13873 FROM Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13874 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
13875
13876 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13877 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13878 BEGIN
13879 ROLLBACK TRAN
13880 SELECT 0
13881 RETURN
13882 END
13883
13884 DELETE ClanMember WHERE CID = @CID
13885 IF 0 <> @@ERROR
13886 BEGIN
13887 ROLLBACK TRAN
13888 SELECT 0
13889 RETURN
13890 END
13891
13892 SELECT 1
13893COMMIT TRAN
13894SET NOCOUNT OFF
13895
13896
13897
13898
13899
13900GO
13901/****** Object: StoredProcedure [dbo].[spWebReplyClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13902SET ANSI_NULLS ON
13903GO
13904SET QUOTED_IDENTIFIER ON
13905GO
13906
13907
13908----------------------------------------------------------------------------
13909
13910-- 게시물 답글
13911CREATE PROC [dbo].[spWebReplyClanAdsBoard]
13912 @Seq int,
13913 @UserID varchar(20),
13914 @Subject varchar(50),
13915 @Content varchar(2000),
13916 @FileName varchar(128),
13917 @Link varchar(255),
13918 @HTML smallint,
13919 @GR_ID int,
13920 @GR_Depth int,
13921 @GR_Pos int
13922AS
13923 SET NOCOUNT ON
13924 DECLARE @ParentThread int
13925 DECLARE @PrevThread int
13926
13927 SELECT @ParentThread = Thread FROM ClanAdsBoard(NOLOCK) WHERE Seq = @Seq
13928 SELECT @PrevThread = @ParentThread -1000 FROM ClanAdsBoard(NOLOCK) WHERE GR_ID =@GR_ID and GR_Depth = '0'
13929
13930 BEGIN TRAN
13931 UPDATE ClanAdsBoard
13932 SET Thread = Thread - 1
13933 WHERE Thread < @ParentThread and Thread > @PrevThread
13934 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13935 ROLLBACK TRAN
13936 RETURN
13937 END
13938
13939 UPDATE ClanAdsBoard SET GR_Pos =GR_Pos+1
13940 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
13941 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13942 ROLLBACK TRAN
13943 RETURN
13944 END
13945
13946 SET @GR_Depth = @GR_Depth+1;
13947 SET @GR_Pos = @GR_Pos + 1;
13948
13949 INSERT INTO ClanAdsBoard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
13950 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
13951 IF (@@ERROR <> 0) BEGIN
13952 ROLLBACK TRAN
13953 RETURN
13954 END
13955
13956 COMMIT TRAN
13957
13958
13959
13960
13961GO
13962/****** Object: StoredProcedure [dbo].[spWebReplyClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13963SET ANSI_NULLS ON
13964GO
13965SET QUOTED_IDENTIFIER ON
13966GO
13967
13968
13969--------------------------------------------------------------------------------------------------------
13970
13971-- 게시물 답글
13972
13973CREATE PROC [dbo].[spWebReplyClanBoard]
13974 @Seq int,
13975 @UserID varchar(20),
13976 @Subject varchar(50),
13977 @Content varchar(4000),
13978 @FileName varchar(128),
13979 @Link varchar(255),
13980 @HTML smallint,
13981 @GR_ID int,
13982 @GR_Depth int,
13983 @GR_Pos int
13984AS
13985 SET NOCOUNT ON
13986 DECLARE @CLID int
13987 DECLARE @ParentThread int
13988 DECLARE @PrevThread int
13989
13990 SELECT @CLID = CLID FROM ClanBoard(NOLOCK) Where Seq = @Seq
13991 SELECT @ParentThread = Thread FROM ClanBoard(NOLOCK) Where Seq = @Seq
13992 SELECT @PrevThread = @ParentThread -1000 FROM ClanBoard(NOLOCK) where GR_ID =@GR_ID and GR_Depth = '0'
13993
13994 BEGIN TRAN
13995 UPDATE ClanBoard
13996 SET Thread = Thread - 1
13997 Where Thread < @ParentThread and Thread > @PrevThread
13998 IF (@@ERROR <> 0) BEGIN
13999 ROLLBACK TRAN
14000 RETURN
14001 END
14002
14003 UPDATE ClanBoard SET GR_Pos =GR_Pos+1
14004 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
14005 IF (@@ERROR <> 0) BEGIN
14006 ROLLBACK TRAN
14007 RETURN
14008 END
14009
14010 SET @GR_Depth = @GR_Depth+1;
14011 SET @GR_Pos = @GR_Pos + 1;
14012
14013 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
14014 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
14015 IF (@@ERROR <> 0) BEGIN
14016 ROLLBACK TRAN
14017 RETURN
14018 END
14019 COMMIT TRAN
14020
14021
14022
14023
14024GO
14025/****** Object: StoredProcedure [dbo].[spWebResetChar] Script Date: 28-05-2018 18:12:28 ******/
14026SET ANSI_NULLS ON
14027GO
14028SET QUOTED_IDENTIFIER ON
14029GO
14030
14031
14032-- ìºë¦í„° 초기화
14033CREATE PROC [dbo].[spWebResetChar]
14034 @CID INT
14035AS
14036SET NOCOUNT ON
14037
14038BEGIN
14039 -- 스탯 초기화
14040 UPDATE Character SET Level=1, XP=0, BP=0,
14041
14042 head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
14043 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL,
14044 custom1_slot=NULL, custom2_slot=NULL,
14045 GameCount=0, KillCount=0, DeathCount=0,
14046 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
14047 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL,
14048 custom1_itemid=NULL, custom2_itemid=NULL, QuestItemInfo=NULL
14049
14050 WHERE CID=@CID
14051
14052 -- ì•„ì´í…œ ì‚ì œ(ìƒìš© ì•„ì´í…œì€ ì œì™¸)
14053 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND ItemID < 500000
14054
14055END
14056
14057
14058
14059
14060
14061GO
14062/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14063SET ANSI_NULLS ON
14064GO
14065SET QUOTED_IDENTIFIER ON
14066GO
14067
14068
14069----------------------------------------------------------------------------
14070
14071-- 게시물 검색 by Subject
14072CREATE PROC [dbo].[spWebSearchClanAdsBoardbySubject]
14073 @Subject varchar(30)
14074AS
14075 SET NOCOUNT ON
14076 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14077 FROM ClanAdsBoard(NOLOCK)
14078 WHERE Subject like @Subject
14079 ORDER BY Thread DESC
14080
14081
14082
14083
14084GO
14085/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14086SET ANSI_NULLS ON
14087GO
14088SET QUOTED_IDENTIFIER ON
14089GO
14090
14091
14092----------------------------------------------------------------------------
14093
14094CREATE PROC [dbo].[spWebSearchClanAdsBoardbyUserID]
14095 @UserID varchar(20)
14096AS
14097 SET NOCOUNT ON
14098 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14099 FROM ClanAdsBoard (NOLOCK)
14100 WHERE UserID = @UserID
14101 ORDER BY Thread DESC
14102
14103
14104
14105
14106GO
14107/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14108SET ANSI_NULLS ON
14109GO
14110SET QUOTED_IDENTIFIER ON
14111GO
14112
14113
14114--------------------------------------------------------------------------------------------------------
14115
14116-- 게시물 검색 by Subject
14117
14118CREATE PROC [dbo].[spWebSearchClanBoardbySubject]
14119 @CLID int
14120, @Subject varchar(30)
14121AS
14122 SET NOCOUNT ON
14123 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14124 FROM ClanBoard(NOLOCK)
14125 WHERE CLID = @CLID and Subject like @Subject
14126 ORDER BY Thread DESC
14127
14128
14129
14130
14131GO
14132/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14133SET ANSI_NULLS ON
14134GO
14135SET QUOTED_IDENTIFIER ON
14136GO
14137
14138
14139--------------------------------------------------------------------------------------------------------
14140
14141-- 게시물 검색 by UserID
14142
14143CREATE PROC [dbo].[spWebSearchClanBoardbyUserID]
14144 @CLID int
14145, @UserID varchar(20)
14146AS
14147 SET NOCOUNT ON
14148 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14149 FROM ClanBoard(NOLOCK)
14150 WHERE CLID = @CLID and UserID = @UserID
14151 ORDER BY Thread DESC
14152
14153
14154
14155
14156GO
14157/****** Object: StoredProcedure [dbo].[spWebSearchClanMemberByCharName] Script Date: 28-05-2018 18:12:28 ******/
14158SET ANSI_NULLS ON
14159GO
14160SET QUOTED_IDENTIFIER ON
14161GO
14162
14163
14164---------------------------------------------------------------------------
14165
14166CREATE PROC [dbo].[spWebSearchClanMemberByCharName]
14167 @CLID int
14168, @CharName varchar(20)
14169AS
14170 SET NOCOUNT ON
14171 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
14172 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
14173 ON cm.CLID = @CLID AND c.CID = cm.CID AND c.Name = @CharName
14174 ORDER BY cm.RegDate DESC
14175
14176
14177
14178
14179GO
14180/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
14181SET ANSI_NULLS ON
14182GO
14183SET QUOTED_IDENTIFIER ON
14184GO
14185
14186
14187/* ìºë¦í„° ì´ë¦„으로 순위 검색 */
14188CREATE PROC [dbo].[spWebSearchTotalRankingByName]
14189 @Name varchar(24)
14190AS
14191SET NOCOUNT ON
14192BEGIN
14193 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14194 FROM TotalRanking(NOLOCK)
14195 WHERE Name = @Name
14196END
14197
14198
14199
14200
14201
14202
14203GO
14204/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
14205SET ANSI_NULLS ON
14206GO
14207SET QUOTED_IDENTIFIER ON
14208GO
14209
14210
14211
14212-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
14213CREATE PROC [dbo].[spWebSearchTotalRankingByNetmarbleID]
14214 @UserID varchar(20)
14215AS
14216SET NOCOUNT ON
14217BEGIN
14218 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14219 FROM TotalRanking (NOLOCK)
14220 WHERE UserID = @UserID
14221END
14222
14223
14224
14225
14226
14227GO
14228/****** Object: StoredProcedure [dbo].[spWebUndeleteChar] Script Date: 28-05-2018 18:12:28 ******/
14229SET ANSI_NULLS ON
14230GO
14231SET QUOTED_IDENTIFIER ON
14232GO
14233
14234
14235
14236CREATE PROC [dbo].[spWebUndeleteChar]
14237 @CID INT
14238AS
14239SET NOCOUNT ON
14240BEGIN
14241 DECLARE @AID INT
14242 DECLARE @Name VARCHAR(64)
14243 SELECT @Name = DeleteName, @AID=AID FROM Character(NOLOCK) WHERE CID=@CID
14244
14245 IF @AID IS NULL
14246 BEGIN
14247 SELECT 'It is not exist character.' AS ERROR, @CID AS CID
14248 GOTO label_finish
14249 END
14250
14251 --SELECT @Name AS Name
14252 IF @Name IS NULL
14253 BEGIN
14254 SELECT 'already exist character' AS ERROR, @CID AS CID
14255 GOTO label_finish
14256 END
14257
14258 -- find empty slot.
14259 DECLARE @CharNum INT
14260 SELECT @CharNum=a.CharNum FROM
14261 (
14262 SELECT 0 AS CharNum UNION
14263 SELECT 1 AS CharNum UNION
14264 SELECT 2 AS CharNum UNION
14265 SELECT 3 AS CharNum
14266 ) a WHERE NOT EXISTS
14267 (
14268 SELECT CharNum FROM Character(NOLOCK)
14269 WHERE AID=@AID AND DeleteFlag=0 AND CharNum=a.CharNum
14270 )
14271 IF @CharNum IS NULL
14272 BEGIN
14273 SELECT 'no more empty slot' AS ERROR, @CID AS CID
14274 GOTO label_finish
14275 END
14276
14277 DECLARE @ExistName VARCHAR(64)
14278 SELECT @ExistName = Name FROM Character(NOLOCK) WHERE AID=@AID AND CharNum=@CharNum
14279 IF @ExistName IS NOT NULL
14280 BEGIN
14281 SELECT 'already exist slot.' AS ERROR, @CID AS CID
14282 GOTO label_finish
14283 END
14284
14285 DECLARE @Count int
14286 SELECT @Count=COUNT(*) FROM Character(NOLOCK) WHERE Name=@Name
14287
14288 --SELECT @Name AS UndeleteTarget
14289
14290 IF ( @Count <= 0 )
14291 BEGIN
14292 Update Character Set Name=@Name WHERE CID=@CID
14293 Update Character Set CharNum=@CharNum WHERE CID=@CID
14294 Update Character Set DeleteFlag=0 WHERE CID=@CID
14295 Update Character Set DeleteName=NULL WHERE CID=@CID
14296
14297 SELECT 'completed restore' AS ERROR, @Name AS 'Name'
14298 END
14299 ELSE
14300 BEGIN
14301 SELECT 'already exist name' AS ERROR, @Name AS 'Name', @Count AS 'Count'
14302 END
14303
14304label_finish:
14305END
14306
14307
14308
14309
14310
14311
14312GO
14313/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
14314SET ANSI_NULLS ON
14315GO
14316SET QUOTED_IDENTIFIER ON
14317GO
14318
14319
14320----------------------------------------------------------------------------
14321
14322-- 게시물 ìˆ˜ì •
14323CREATE PROC [dbo].[spWebUpdateClanAdsBoard]
14324 @Seq int,
14325 @Subject varchar(50),
14326 @Content varchar(2000),
14327 @FileName varchar(128),
14328 @Link varchar(255),
14329 @HTML smallint
14330AS
14331 SET NOCOUNT ON
14332 UPDATE ClanAdsBoard
14333 SET Subject= @Subject, Content=@Content, FileName=@FileName, Link=@Link, HTML=@HTML
14334 WHERE Seq = @Seq
14335
14336
14337
14338
14339GO
14340/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14341SET ANSI_NULLS ON
14342GO
14343SET QUOTED_IDENTIFIER ON
14344GO
14345
14346
14347----------------------------------------------------------------------------
14348
14349CREATE PROC [dbo].[spWebUpdateClanAdsBoardReadCount]
14350 @Seq int
14351AS
14352 SET NOCOUNT ON
14353 UPDATE ClanAdsBoard SET ReadCount = ReadCount + 1 WHERE Seq = @Seq
14354
14355
14356
14357
14358GO
14359/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoard] Script Date: 28-05-2018 18:12:28 ******/
14360SET ANSI_NULLS ON
14361GO
14362SET QUOTED_IDENTIFIER ON
14363GO
14364
14365
14366--------------------------------------------------------------------------------------------------------
14367
14368
14369-- 게시물 ìˆ˜ì •
14370
14371CREATE PROC [dbo].[spWebUpdateClanBoard]
14372 @Seq int,
14373 @Subject varchar(50),
14374 @Content varchar(4000),
14375 @FileName varchar(128),
14376 @Link varchar(255),
14377 @HTML smallint
14378AS
14379 SET NOCOUNT ON
14380 UPDATE ClanBoard
14381 SET Subject= @Subject, Content=@Content,
14382 FileName=@FileName, Link=@Link, HTML=@HTML
14383 WHERE Seq = @Seq
14384
14385
14386
14387
14388GO
14389/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14390SET ANSI_NULLS ON
14391GO
14392SET QUOTED_IDENTIFIER ON
14393GO
14394
14395
14396--------------------------------------------------------------------------------------------------------
14397
14398-- 조회수 ì¦ê°€
14399
14400CREATE PROC [dbo].[spWebUpdateClanBoardReadCount]
14401 @Seq int
14402AS
14403 SET NOCOUNT ON
14404 Update ClanBoard Set ReadCount = ReadCount + 1 WHERE Seq = @Seq
14405
14406
14407
14408
14409GO
14410/****** Object: StoredProcedure [dbo].[spWinTheClanGame] Script Date: 28-05-2018 18:12:28 ******/
14411SET ANSI_NULLS ON
14412GO
14413SET QUOTED_IDENTIFIER ON
14414GO
14415
14416-- í´ëžœì „ ê²°ê³¼ ì—…ë°ì´íЏ
14417CREATE PROC [dbo].[spWinTheClanGame]
14418 @WinnerCLID int,
14419 @LoserCLID int,
14420 @IsDrawGame tinyint,
14421 @WinnerPoint int,
14422 @LoserPoint int,
14423 @WinnerClanName varchar(24),
14424 @LoserClanName varchar(24),
14425 @RoundWins tinyint,
14426 @RoundLosses tinyint,
14427 @MapID tinyint,
14428 @GameType tinyint,
14429 @WinnerMembers varchar(110),
14430 @LoserMembers varchar(110)
14431AS
14432 SET NOCOUNT ON -- 추가.
14433
14434 IF @IsDrawGame = 0
14435 BEGIN
14436 BEGIN TRAN
14437 -- ì´ê¸´íŒ€ Wins+1
14438 UPDATE Clan SET Wins=Wins+1, Point=Point+@WinnerPoint, TotalPoint=TotalPoint+@WinnerPoint WHERE CLID=@WinnerCLID
14439 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14440 ROLLBACK TRAN
14441 RETURN
14442 END
14443
14444 -- 진팀 Losses+1
14445 UPDATE Clan SET Losses=Losses+1, Point= game.fnGetMax(0, Point+(@LoserPoint)) WHERE CLID=@LoserCLID
14446 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14447 ROLLBACK TRAN
14448 RETURN
14449 END
14450-- UPDATE Clan SET Point=0 WHERE CLID=@LoserCLID AND Point<0
14451
14452 -- ì „ì 로그를 남긴다.
14453 INSERT INTO ClanGameLog(WinnerCLID, LoserCLID, WinnerClanName, LoserClanName, RoundWins, RoundLosses, MapID, GameType, RegDate, WinnerMembers, LoserMembers, WinnerPoint, LoserPoint)
14454 VALUES (@WinnerCLID, @LoserCLID, @WinnerClanName, @LoserClanName, @RoundWins, @RoundLosses, @MapID, @GameType, GETDATE(), @WinnerMembers, @LoserMembers, @WinnerPoint, @LoserPoint)
14455 IF 0 <> @@ERROR BEGIN -- 여기 추가.
14456 ROLLBACK TRAN
14457 RETURN
14458 END
14459 COMMIT TRAN
14460 END
14461 ELSE
14462 BEGIN
14463 UPDATE Clan SET Draws=Draws+1 WHERE CLID=@WinnerCLID OR CLID=@LoserCLID
14464 END
14465
14466
14467
14468
14469
14470
14471GO
14472/****** Object: StoredProcedure [dbo].[USP_sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
14473SET ANSI_NULLS ON
14474GO
14475SET QUOTED_IDENTIFIER ON
14476GO
14477
14478
14479create proc [dbo].[USP_sjr_TableSizeIncr]
14480
14481as
14482begin
14483 SET NOCOUNT ON
14484
14485 select identity(int,1,1) idx ,' insert sjr_TableSizeIncr (name,rows,reserved,date,index_size,unused) ' +char(10)+
14486 'exec sp_spaceused '+name as sql into #spaceusedTb
14487 from GunzDB.dbo.sysobjects where xtype = 'U'
14488
14489
14490 DECLARE @sql varchar(400)
14491 DECLARE SQL_cursor CURSOR FOR
14492 SELECT sql
14493 FROM #spaceusedTb
14494 ORDER BY idx
14495 OPEN SQL_cursor
14496 FETCH NEXT FROM SQL_cursor
14497 INTO @sql
14498 WHILE @@FETCH_STATUS = 0
14499 BEGIN
14500 exec (@sql)
14501 FETCH NEXT FROM SQL_cursor
14502 INTO @sql
14503 END
14504 CLOSE SQL_cursor
14505 DEALLOCATE SQL_cursor
14506
14507end
14508
14509
14510
14511
14512
14513
14514
14515
14516GO
14517USE [master]
14518GO
14519ALTER DATABASE [GunzDB] SET READ_WRITE
14520GO