· 8 years ago · May 31, 2018, 12:40 PM
1USE [master]
2GO
3/****** Object: Database [TestDB] Script Date: 28-05-2018 18:12:26 ******/
4CREATE DATABASE [TestDB] ON PRIMARY
5( NAME = N'TestDB', FILENAME = N'/mssql/TestDB.mdf' , SIZE = 4096KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
6 LOG ON
7( NAME = N'TestDB_log', FILENAME = N'/mssql/TestDB_log.mdf' , SIZE = 1280KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
8GO
9ALTER DATABASE [TestDB] SET COMPATIBILITY_LEVEL = 100
10GO
11IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
12begin
13EXEC [TestDB].[dbo].[sp_fulltext_database] @action = 'enable'
14end
15GO
16ALTER DATABASE [TestDB] SET ANSI_NULL_DEFAULT OFF
17GO
18ALTER DATABASE [TestDB] SET ANSI_NULLS OFF
19GO
20ALTER DATABASE [TestDB] SET ANSI_PADDING OFF
21GO
22ALTER DATABASE [TestDB] SET ANSI_WARNINGS OFF
23GO
24ALTER DATABASE [TestDB] SET ARITHABORT OFF
25GO
26ALTER DATABASE [TestDB] SET AUTO_CLOSE OFF
27GO
28ALTER DATABASE [TestDB] SET AUTO_SHRINK OFF
29GO
30ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS ON
31GO
32ALTER DATABASE [TestDB] SET CURSOR_CLOSE_ON_COMMIT OFF
33GO
34ALTER DATABASE [TestDB] SET CURSOR_DEFAULT GLOBAL
35GO
36ALTER DATABASE [TestDB] SET CONCAT_NULL_YIELDS_NULL OFF
37GO
38ALTER DATABASE [TestDB] SET NUMERIC_ROUNDABORT OFF
39GO
40ALTER DATABASE [TestDB] SET QUOTED_IDENTIFIER OFF
41GO
42ALTER DATABASE [TestDB] SET RECURSIVE_TRIGGERS OFF
43GO
44ALTER DATABASE [TestDB] SET DISABLE_BROKER
45GO
46ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
47GO
48ALTER DATABASE [TestDB] SET DATE_CORRELATION_OPTIMIZATION OFF
49GO
50ALTER DATABASE [TestDB] SET TRUSTWORTHY OFF
51GO
52ALTER DATABASE [TestDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
53GO
54ALTER DATABASE [TestDB] SET PARAMETERIZATION SIMPLE
55GO
56ALTER DATABASE [TestDB] SET READ_COMMITTED_SNAPSHOT OFF
57GO
58ALTER DATABASE [TestDB] SET HONOR_BROKER_PRIORITY OFF
59GO
60ALTER DATABASE [TestDB] SET RECOVERY SIMPLE
61GO
62ALTER DATABASE [TestDB] SET MULTI_USER
63GO
64ALTER DATABASE [TestDB] SET PAGE_VERIFY CHECKSUM
65GO
66ALTER DATABASE [TestDB] SET DB_CHAINING OFF
67GO
68USE [TestDB]
69GO
70/****** Object: UserDefinedFunction [dbo].[fnGetMax] Script Date: 28-05-2018 18:12:27 ******/
71SET ANSI_NULLS ON
72GO
73SET QUOTED_IDENTIFIER ON
74GO
75
76
77/* 최대값 구하는 함수 */
78CREATE FUNCTION [dbo].[fnGetMax]
79 (@n1 int,
80 @n2 int)
81RETURNS int
82AS
83BEGIN
84RETURN (CASE WHEN @n1 > @n2 THEN @n1 ELSE @n2 END)
85END
86
87
88
89
90
91GO
92/****** Object: UserDefinedFunction [dbo].[fnGetMin] Script Date: 28-05-2018 18:12:27 ******/
93SET ANSI_NULLS ON
94GO
95SET QUOTED_IDENTIFIER ON
96GO
97
98
99/* 최소값 구하는 함수 */
100CREATE FUNCTION [dbo].[fnGetMin]
101 (@n1 int,
102 @n2 int)
103RETURNS int
104AS
105BEGIN
106RETURN (CASE WHEN @n1 < @n2 THEN @n1 ELSE @n2 END)
107END
108
109
110
111
112
113GO
114/****** Object: UserDefinedFunction [dbo].[inet_aton] Script Date: 28-05-2018 18:12:27 ******/
115SET ANSI_NULLS ON
116GO
117SET QUOTED_IDENTIFIER ON
118GO
119
120CREATE FUNCTION [dbo].[inet_aton] (@IP VARCHAR(15))
121RETURNS BIGINT
122AS
123BEGIN
124 DECLARE @A BIGINT, @B BIGINT, @C BIGINT, @D BIGINT
125 DECLARE @iBegin INT, @iEnd INT
126
127 SELECT @iBegin=1
128 SELECT @iEnd=CHARINDEX('.', @IP)
129 SELECT @A=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
130
131 SELECT @iBegin=@iEnd+1
132 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
133 SELECT @B=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
134
135 SELECT @iBegin=@iEnd+1
136 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
137 SELECT @C=CAST(SUBSTRING(@IP, @iBegin, @iEnd-@iBegin) AS BIGINT)
138
139 SELECT @iBegin=@iEnd+1
140 SELECT @iEnd=CHARINDEX('.', @IP, @iBegin)
141 SELECT @D=CAST(SUBSTRING(@IP, @iBegin, 15) AS BIGINT)
142
143 DECLARE @IPNumber BIGINT
144 SELECT @IPNumber=@A*16777216+@B*65536+@C*256+@D
145
146 RETURN @IPNumber
147END
148
149
150
151
152GO
153/****** Object: Table [dbo].[Account] Script Date: 28-05-2018 18:12:27 ******/
154SET ANSI_NULLS ON
155GO
156SET QUOTED_IDENTIFIER ON
157GO
158CREATE TABLE [dbo].[Account](
159 [AID] [int] IDENTITY(1,1) NOT NULL,
160 [UserID] [varchar](20) NOT NULL,
161 [UGradeID] [int] NOT NULL,
162 [PGradeID] [int] NOT NULL,
163 [RegDate] [datetime] NOT NULL,
164 [Name] [varchar](50) NOT NULL,
165 [Email] [varchar](50) NULL,
166 [RegNum] [varchar](50) NULL,
167 [Age] [smallint] NULL,
168 [Sex] [tinyint] NULL,
169 [ZipCode] [varchar](50) NULL,
170 [Address] [varchar](256) NULL,
171 [Country] [varchar](50) NULL,
172 [LastCID] [int] NULL,
173 [Cert] [tinyint] NULL,
174 [HackingType] [tinyint] NULL,
175 [HackingRegTime] [smalldatetime] NULL,
176 [EndHackingBlockTime] [smalldatetime] NULL,
177 [LastLoginTime] [smalldatetime] NULL,
178 [ServerID] [tinyint] NULL,
179 [LastLogoutTime] [smalldatetime] NULL,
180 CONSTRAINT [Account_PK] PRIMARY KEY CLUSTERED
181(
182 [AID] ASC
183)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
184) ON [PRIMARY]
185
186GO
187/****** Object: Table [dbo].[AccountItem] Script Date: 28-05-2018 18:12:28 ******/
188SET ANSI_NULLS ON
189GO
190SET QUOTED_IDENTIFIER ON
191GO
192CREATE TABLE [dbo].[AccountItem](
193 [AIID] [int] IDENTITY(1,1) NOT NULL,
194 [AID] [int] NOT NULL,
195 [ItemID] [int] NOT NULL,
196 [RentDate] [datetime] NULL,
197 [RentHourPeriod] [smallint] NULL,
198 [Cnt] [smallint] NULL,
199 CONSTRAINT [Table1_PK] PRIMARY KEY CLUSTERED
200(
201 [AIID] ASC
202)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
203) ON [PRIMARY]
204
205GO
206/****** Object: Table [dbo].[AccountPenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
207SET ANSI_NULLS ON
208GO
209SET QUOTED_IDENTIFIER ON
210GO
211CREATE TABLE [dbo].[AccountPenaltyLog](
212 [PenaltyLogID] [int] IDENTITY(1,1) NOT NULL,
213 [AID] [int] NULL,
214 [UGradeID] [int] NULL,
215 [DayLeft] [int] NULL,
216 [RegDate] [smalldatetime] NULL,
217 [GMID] [varchar](20) NULL,
218PRIMARY KEY NONCLUSTERED
219(
220 [PenaltyLogID] ASC
221)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
222) ON [PRIMARY]
223
224GO
225/****** Object: Table [dbo].[AccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
226SET ANSI_NULLS ON
227GO
228SET QUOTED_IDENTIFIER ON
229GO
230CREATE TABLE [dbo].[AccountPenaltyPeriod](
231 [id] [int] IDENTITY(1,1) NOT NULL,
232 [AID] [int] NOT NULL,
233 [DayLeft] [int] NOT NULL,
234 CONSTRAINT [AccountPenaltyPeriod_PK] PRIMARY KEY CLUSTERED
235(
236 [id] ASC
237)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
238) ON [PRIMARY]
239
240GO
241/****** Object: Table [dbo].[BillingMethod] Script Date: 28-05-2018 18:12:28 ******/
242SET ANSI_NULLS ON
243GO
244SET QUOTED_IDENTIFIER ON
245GO
246CREATE TABLE [dbo].[BillingMethod](
247 [BillingMethodID] [int] NOT NULL,
248 [Name] [varchar](256) NOT NULL,
249 CONSTRAINT [BillingMethod_PK] PRIMARY KEY CLUSTERED
250(
251 [BillingMethodID] ASC
252)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
253) ON [PRIMARY]
254
255GO
256/****** Object: Table [dbo].[BlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
257SET ANSI_NULLS ON
258GO
259SET QUOTED_IDENTIFIER ON
260GO
261CREATE TABLE [dbo].[BlockCountryCode](
262 [CountryCode3] [char](3) NOT NULL,
263 [RoutingURL] [varchar](64) NULL,
264 [IsBlock] [tinyint] NULL,
265PRIMARY KEY CLUSTERED
266(
267 [CountryCode3] ASC
268)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
269) ON [PRIMARY]
270
271GO
272/****** Object: Table [dbo].[Blocks] Script Date: 28-05-2018 18:12:28 ******/
273SET ANSI_NULLS ON
274GO
275SET QUOTED_IDENTIFIER ON
276GO
277CREATE TABLE [dbo].[Blocks](
278 [AID] [int] NOT NULL,
279 [Type] [tinyint] NULL,
280 [EndDate] [datetime] NULL,
281 [Reason] [varchar](255) NULL,
282 CONSTRAINT [PK_Blocks] PRIMARY KEY CLUSTERED
283(
284 [AID] ASC
285)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
286) ON [PRIMARY]
287
288GO
289/****** Object: Table [dbo].[BringAccountItemLog] Script Date: 28-05-2018 18:12:28 ******/
290SET ANSI_NULLS ON
291GO
292SET QUOTED_IDENTIFIER ON
293GO
294CREATE TABLE [dbo].[BringAccountItemLog](
295 [id] [int] IDENTITY(1,1) NOT NULL,
296 [AID] [int] NULL,
297 [CID] [int] NULL,
298 [ItemID] [int] NOT NULL,
299 [Date] [datetime] NOT NULL,
300 CONSTRAINT [BringAccountItemLog_PK] PRIMARY KEY NONCLUSTERED
301(
302 [id] ASC
303)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
304) ON [PRIMARY]
305
306GO
307/****** Object: Table [dbo].[CashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
308SET ANSI_NULLS ON
309GO
310SET QUOTED_IDENTIFIER ON
311GO
312CREATE TABLE [dbo].[CashItemPresentLog](
313 [id] [int] IDENTITY(1,1) NOT NULL,
314 [SenderUserID] [varchar](20) NOT NULL,
315 [ReceiverAID] [int] NOT NULL,
316 [CSID] [int] NULL,
317 [CSSID] [int] NULL,
318 [Cash] [int] NOT NULL,
319 [Date] [datetime] NOT NULL,
320 [RentHourPeriod] [int] NULL,
321 [MobileCode] [char](16) NULL,
322 CONSTRAINT [CashItemPresentLog_PK] PRIMARY KEY CLUSTERED
323(
324 [id] ASC
325)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
326) ON [PRIMARY]
327
328GO
329/****** Object: Table [dbo].[CashSetItem] Script Date: 28-05-2018 18:12:28 ******/
330SET ANSI_NULLS ON
331GO
332SET QUOTED_IDENTIFIER ON
333GO
334CREATE TABLE [dbo].[CashSetItem](
335 [CSIID] [int] IDENTITY(1,1) NOT NULL,
336 [CSSID] [int] NOT NULL,
337 [CSID] [int] NOT NULL,
338 CONSTRAINT [CashSetItem_PK] PRIMARY KEY CLUSTERED
339(
340 [CSIID] ASC
341)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
342) ON [PRIMARY]
343
344GO
345/****** Object: Table [dbo].[CashSetShop] Script Date: 28-05-2018 18:12:28 ******/
346SET ANSI_NULLS ON
347GO
348SET QUOTED_IDENTIFIER ON
349GO
350CREATE TABLE [dbo].[CashSetShop](
351 [CSSID] [int] NOT NULL,
352 [Name] [varchar](64) NULL,
353 [Description] [varchar](1024) NULL,
354 [CashPrice] [int] NOT NULL,
355 [WebImgName] [varchar](64) NULL,
356 [NewItemOrder] [tinyint] NULL,
357 [ResSex] [tinyint] NULL,
358 [ResLevel] [int] NULL,
359 [Weight] [int] NULL,
360 [Opened] [tinyint] NULL,
361 [RegDate] [datetime] NULL,
362 [RentType] [tinyint] NULL,
363 CONSTRAINT [CashSetShop_PK] PRIMARY KEY CLUSTERED
364(
365 [CSSID] ASC
366)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
367) ON [PRIMARY]
368
369GO
370/****** Object: Table [dbo].[CashShop] Script Date: 28-05-2018 18:12:28 ******/
371SET ANSI_NULLS ON
372GO
373SET QUOTED_IDENTIFIER ON
374GO
375CREATE TABLE [dbo].[CashShop](
376 [CSID] [int] NOT NULL,
377 [ItemID] [int] NOT NULL,
378 [NewItemOrder] [tinyint] NULL,
379 [CashPrice] [int] NOT NULL,
380 [WebImgName] [varchar](64) NULL,
381 [Opened] [tinyint] NULL,
382 [RegDate] [datetime] NULL,
383 [RentType] [tinyint] NULL,
384 CONSTRAINT [CashShop_PK] PRIMARY KEY CLUSTERED
385(
386 [CSID] ASC
387)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
388) ON [PRIMARY]
389
390GO
391/****** Object: Table [dbo].[CashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
392SET ANSI_NULLS ON
393GO
394SET QUOTED_IDENTIFIER ON
395GO
396CREATE TABLE [dbo].[CashShopNewItem](
397 [id] [int] IDENTITY(1,1) NOT NULL,
398 [Category] [varchar](32) NOT NULL,
399 [NewOrder] [int] NOT NULL,
400 [IsSetItem] [int] NOT NULL,
401 [CSID] [int] NULL,
402 [CSSID] [int] NULL,
403 [Slot] [varchar](32) NOT NULL,
404 [Name] [varchar](256) NOT NULL,
405 [ResSex] [int] NOT NULL,
406 [ResLevel] [int] NOT NULL,
407 [CashPrice] [int] NOT NULL,
408 [WebImgName] [varchar](64) NULL,
409 [RegDate] [datetime] NOT NULL
410) ON [PRIMARY]
411
412GO
413/****** Object: Table [dbo].[CashShopNewItemCategory] Script Date: 28-05-2018 18:12:28 ******/
414SET ANSI_NULLS ON
415GO
416SET QUOTED_IDENTIFIER ON
417GO
418CREATE TABLE [dbo].[CashShopNewItemCategory](
419 [CategoryID] [int] NOT NULL,
420 [Description] [varchar](12) NOT NULL,
421PRIMARY KEY CLUSTERED
422(
423 [CategoryID] ASC
424)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
425UNIQUE NONCLUSTERED
426(
427 [Description] ASC
428)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
429) ON [PRIMARY]
430
431GO
432/****** Object: Table [dbo].[CashShopRank] Script Date: 28-05-2018 18:12:28 ******/
433SET ANSI_NULLS ON
434GO
435SET QUOTED_IDENTIFIER ON
436GO
437CREATE TABLE [dbo].[CashShopRank](
438 [id] [int] IDENTITY(1,1) NOT NULL,
439 [Rank] [int] NOT NULL,
440 [Category] [varchar](32) NOT NULL,
441 [Name] [varchar](256) NOT NULL,
442 [Count] [int] NOT NULL,
443 [CSID] [int] NULL,
444 [CSSID] [int] NULL,
445 [Slot] [varchar](32) NOT NULL,
446 [ResSex] [int] NOT NULL,
447 [ResLevel] [int] NOT NULL,
448 [CashPrice] [int] NOT NULL,
449 [RegDate] [datetime] NOT NULL,
450 CONSTRAINT [pk_CashShopRank_id] PRIMARY KEY CLUSTERED
451(
452 [id] ASC
453)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
454) ON [PRIMARY]
455
456GO
457/****** Object: Table [dbo].[Character] Script Date: 28-05-2018 18:12:28 ******/
458SET ANSI_NULLS ON
459GO
460SET QUOTED_IDENTIFIER ON
461GO
462CREATE TABLE [dbo].[Character](
463 [CID] [int] IDENTITY(1,1) NOT NULL,
464 [AID] [int] NOT NULL,
465 [Name] [varchar](24) NOT NULL,
466 [Level] [smallint] NOT NULL,
467 [Sex] [tinyint] NOT NULL,
468 [CharNum] [smallint] NOT NULL,
469 [Hair] [tinyint] NULL,
470 [Face] [tinyint] NULL,
471 [XP] [int] NOT NULL,
472 [BP] [int] NOT NULL,
473 [HP] [smallint] NULL,
474 [AP] [smallint] NULL,
475 [FR] [int] NULL,
476 [CR] [int] NULL,
477 [ER] [int] NULL,
478 [WR] [int] NULL,
479 [head_slot] [int] NULL,
480 [chest_slot] [int] NULL,
481 [hands_slot] [int] NULL,
482 [legs_slot] [int] NULL,
483 [feet_slot] [int] NULL,
484 [fingerl_slot] [int] NULL,
485 [fingerr_slot] [int] NULL,
486 [melee_slot] [int] NULL,
487 [primary_slot] [int] NULL,
488 [secondary_slot] [int] NULL,
489 [custom1_slot] [int] NULL,
490 [custom2_slot] [int] NULL,
491 [RegDate] [datetime] NULL,
492 [LastTime] [datetime] NULL,
493 [PlayTime] [int] NULL,
494 [GameCount] [int] NULL,
495 [KillCount] [int] NULL,
496 [DeathCount] [int] NULL,
497 [DeleteFlag] [tinyint] NULL,
498 [DeleteName] [varchar](24) NULL,
499 [head_itemid] [int] NULL,
500 [chest_itemid] [int] NULL,
501 [hands_itemid] [int] NULL,
502 [legs_itemid] [int] NULL,
503 [feet_itemid] [int] NULL,
504 [fingerl_itemid] [int] NULL,
505 [fingerr_itemid] [int] NULL,
506 [melee_itemid] [int] NULL,
507 [primary_itemid] [int] NULL,
508 [secondary_itemid] [int] NULL,
509 [custom1_itemid] [int] NULL,
510 [custom2_itemid] [int] NULL,
511 [QuestItemInfo] [binary](292) NULL,
512 CONSTRAINT [Character_PK] PRIMARY KEY CLUSTERED
513(
514 [CID] ASC
515)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
516) ON [PRIMARY]
517
518GO
519/****** Object: Table [dbo].[CharacterItem] Script Date: 28-05-2018 18:12:28 ******/
520SET ANSI_NULLS ON
521GO
522SET QUOTED_IDENTIFIER ON
523GO
524CREATE TABLE [dbo].[CharacterItem](
525 [CIID] [int] IDENTITY(1,1) NOT NULL,
526 [CID] [int] NULL,
527 [ItemID] [int] NOT NULL,
528 [RegDate] [datetime] NULL,
529 [RentDate] [datetime] NULL,
530 [RentHourPeriod] [smallint] NULL,
531 [Cnt] [smallint] NULL,
532 CONSTRAINT [CharacterItem_PK] PRIMARY KEY CLUSTERED
533(
534 [CIID] ASC
535)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
536) ON [PRIMARY]
537
538GO
539/****** Object: Table [dbo].[CharacterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
540SET ANSI_NULLS ON
541GO
542SET QUOTED_IDENTIFIER ON
543GO
544CREATE TABLE [dbo].[CharacterMakingLog](
545 [id] [int] IDENTITY(1,1) NOT NULL,
546 [AID] [int] NULL,
547 [CharName] [varchar](32) NULL,
548 [Type] [varchar](20) NULL,
549 [Date] [datetime] NULL
550) ON [PRIMARY]
551
552GO
553/****** Object: Table [dbo].[CharacterMgrLogByGM] Script Date: 28-05-2018 18:12:28 ******/
554SET ANSI_NULLS ON
555GO
556SET QUOTED_IDENTIFIER ON
557GO
558CREATE TABLE [dbo].[CharacterMgrLogByGM](
559 [CharMgrLogID] [int] IDENTITY(1,1) NOT NULL,
560 [CID] [int] NULL,
561 [CharName] [varchar](24) NOT NULL,
562 [CharMgrTypeID] [tinyint] NULL,
563 [GMID] [varchar](20) NOT NULL,
564 [NewName] [varchar](24) NULL,
565 [OrgValue] [int] NULL,
566 [NewValue] [int] NULL,
567 [RegDate] [smalldatetime] NULL,
568PRIMARY KEY NONCLUSTERED
569(
570 [CharMgrLogID] ASC
571)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
572) ON [PRIMARY]
573
574GO
575/****** Object: Table [dbo].[CharacterMgrType] Script Date: 28-05-2018 18:12:28 ******/
576SET ANSI_NULLS ON
577GO
578SET QUOTED_IDENTIFIER ON
579GO
580CREATE TABLE [dbo].[CharacterMgrType](
581 [CharMgrTypeID] [tinyint] NOT NULL,
582 [Description] [varchar](20) NULL,
583PRIMARY KEY CLUSTERED
584(
585 [CharMgrTypeID] ASC
586)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
587) ON [PRIMARY]
588
589GO
590/****** Object: Table [dbo].[Clan] Script Date: 28-05-2018 18:12:28 ******/
591SET ANSI_NULLS ON
592GO
593SET QUOTED_IDENTIFIER ON
594GO
595CREATE TABLE [dbo].[Clan](
596 [CLID] [int] IDENTITY(1,1) NOT NULL,
597 [Name] [varchar](24) NULL,
598 [Exp] [int] NOT NULL,
599 [Level] [tinyint] NOT NULL,
600 [Point] [int] NOT NULL,
601 [MasterCID] [int] NULL,
602 [Wins] [int] NOT NULL,
603 [MarkWebImg] [varchar](48) NULL,
604 [Introduction] [varchar](1024) NULL,
605 [RegDate] [datetime] NOT NULL,
606 [DeleteFlag] [tinyint] NULL,
607 [DeleteName] [varchar](24) NULL,
608 [Homepage] [varchar](128) NULL,
609 [Losses] [int] NOT NULL,
610 [Draws] [int] NOT NULL,
611 [Ranking] [int] NOT NULL,
612 [TotalPoint] [int] NOT NULL,
613 [Cafe_Url] [varchar](20) NULL,
614 [Email] [varchar](70) NULL,
615 [EmblemUrl] [varchar](256) NULL,
616 [RankIncrease] [int] NOT NULL,
617 [EmblemChecksum] [int] NOT NULL,
618 [LastDayRanking] [int] NOT NULL,
619 [LastMonthRanking] [int] NOT NULL,
620 CONSTRAINT [Clan_PK] PRIMARY KEY CLUSTERED
621(
622 [CLID] ASC
623)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
624) ON [PRIMARY]
625
626GO
627/****** Object: Table [dbo].[ClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
628SET ANSI_NULLS ON
629GO
630SET QUOTED_IDENTIFIER ON
631GO
632CREATE TABLE [dbo].[ClanAdsBoard](
633 [Seq] [int] IDENTITY(1,1) NOT NULL,
634 [UserID] [varchar](20) NOT NULL,
635 [Subject] [varchar](50) NOT NULL,
636 [RegDate] [smalldatetime] NOT NULL,
637 [ReadCount] [int] NOT NULL,
638 [Recommend] [int] NULL,
639 [Content] [varchar](2000) NOT NULL,
640 [FileName] [varchar](128) NULL,
641 [Link] [varchar](255) NULL,
642 [HTML] [smallint] NOT NULL,
643 [CommentCount] [int] NOT NULL,
644 [GR_ID] [int] NOT NULL,
645 [GR_Depth] [int] NOT NULL,
646 [GR_Pos] [int] NOT NULL,
647 [Thread] [int] NOT NULL,
648PRIMARY KEY CLUSTERED
649(
650 [Seq] ASC
651)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
652) ON [PRIMARY]
653
654GO
655/****** Object: Table [dbo].[ClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
656SET ANSI_NULLS ON
657GO
658SET QUOTED_IDENTIFIER ON
659GO
660CREATE TABLE [dbo].[ClanAdsComment](
661 [ID] [int] IDENTITY(1,1) NOT NULL,
662 [Seq] [int] NOT NULL,
663 [UserID] [varchar](20) NOT NULL,
664 [RegDate] [smalldatetime] NOT NULL,
665 [Content] [varchar](500) NOT NULL,
666PRIMARY KEY CLUSTERED
667(
668 [ID] ASC
669)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
670) ON [PRIMARY]
671
672GO
673/****** Object: Table [dbo].[ClanBoard] Script Date: 28-05-2018 18:12:28 ******/
674SET ANSI_NULLS ON
675GO
676SET QUOTED_IDENTIFIER ON
677GO
678CREATE TABLE [dbo].[ClanBoard](
679 [Seq] [int] IDENTITY(1,1) NOT NULL,
680 [CLID] [int] NOT NULL,
681 [UserID] [varchar](20) NOT NULL,
682 [Subject] [varchar](50) NOT NULL,
683 [RegDate] [smalldatetime] NOT NULL,
684 [ReadCount] [int] NOT NULL,
685 [Recommend] [int] NULL,
686 [Content] [varchar](4000) NOT NULL,
687 [FileName] [varchar](128) NULL,
688 [Link] [varchar](255) NULL,
689 [HTML] [smallint] NOT NULL,
690 [CommentCount] [int] NOT NULL,
691 [GR_ID] [int] NOT NULL,
692 [GR_Depth] [int] NOT NULL,
693 [GR_Pos] [int] NOT NULL,
694 [Thread] [int] NOT NULL,
695PRIMARY KEY CLUSTERED
696(
697 [Seq] ASC
698)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
699) ON [PRIMARY]
700
701GO
702/****** Object: Table [dbo].[ClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
703SET ANSI_NULLS ON
704GO
705SET QUOTED_IDENTIFIER ON
706GO
707CREATE TABLE [dbo].[ClanBoardComment](
708 [ID] [int] IDENTITY(1,1) NOT NULL,
709 [Seq] [int] NOT NULL,
710 [UserID] [varchar](20) NOT NULL,
711 [RegDate] [smalldatetime] NOT NULL,
712 [Content] [varchar](500) NOT NULL,
713PRIMARY KEY CLUSTERED
714(
715 [ID] ASC
716)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
717) ON [PRIMARY]
718
719GO
720/****** Object: Table [dbo].[ClanGameLog] Script Date: 28-05-2018 18:12:28 ******/
721SET ANSI_NULLS ON
722GO
723SET QUOTED_IDENTIFIER ON
724GO
725CREATE TABLE [dbo].[ClanGameLog](
726 [id] [int] IDENTITY(1,1) NOT NULL,
727 [WinnerCLID] [int] NOT NULL,
728 [LoserCLID] [int] NOT NULL,
729 [WinnerClanName] [varchar](24) NULL,
730 [LoserClanName] [varchar](24) NULL,
731 [WinnerMembers] [varchar](110) NULL,
732 [LoserMembers] [varchar](110) NULL,
733 [RoundWins] [tinyint] NOT NULL,
734 [RoundLosses] [tinyint] NOT NULL,
735 [MapID] [tinyint] NOT NULL,
736 [GameType] [tinyint] NOT NULL,
737 [RegDate] [datetime] NOT NULL,
738 [WinnerPoint] [int] NULL,
739 [LoserPoint] [int] NULL,
740 CONSTRAINT [ClanGameLog_PK] PRIMARY KEY NONCLUSTERED
741(
742 [id] ASC
743)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
744) ON [PRIMARY]
745
746GO
747/****** Object: Table [dbo].[ClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
748SET ANSI_NULLS ON
749GO
750SET QUOTED_IDENTIFIER ON
751GO
752CREATE TABLE [dbo].[ClanHonorRanking](
753 [id] [int] IDENTITY(1,1) NOT NULL,
754 [CLID] [int] NULL,
755 [ClanName] [varchar](24) NOT NULL,
756 [Point] [int] NULL,
757 [Wins] [int] NULL,
758 [Losses] [int] NULL,
759 [Ranking] [int] NULL,
760 [Year] [smallint] NULL,
761 [Month] [tinyint] NULL,
762 [RankIncrease] [int] NOT NULL,
763 CONSTRAINT [PK_ClanHonorRanking_ID] PRIMARY KEY CLUSTERED
764(
765 [id] ASC
766)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
767) ON [PRIMARY]
768
769GO
770/****** Object: Table [dbo].[ClanMember] Script Date: 28-05-2018 18:12:28 ******/
771SET ANSI_NULLS ON
772GO
773SET QUOTED_IDENTIFIER ON
774GO
775CREATE TABLE [dbo].[ClanMember](
776 [CMID] [int] IDENTITY(1,1) NOT NULL,
777 [CLID] [int] NULL,
778 [CID] [int] NULL,
779 [Grade] [tinyint] NOT NULL,
780 [RegDate] [datetime] NOT NULL,
781 [ContPoint] [int] NOT NULL,
782 CONSTRAINT [ClanMember_PK] PRIMARY KEY CLUSTERED
783(
784 [CMID] ASC
785)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
786) ON [PRIMARY]
787
788GO
789/****** Object: Table [dbo].[ClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
790SET ANSI_NULLS ON
791GO
792SET QUOTED_IDENTIFIER ON
793GO
794CREATE TABLE [dbo].[ClanMemberGrade](
795 [GradeID] [int] NOT NULL,
796 [Grade] [varchar](24) NOT NULL,
797PRIMARY KEY CLUSTERED
798(
799 [GradeID] ASC
800)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
801) ON [PRIMARY]
802
803GO
804/****** Object: Table [dbo].[CountryCode] Script Date: 28-05-2018 18:12:28 ******/
805SET ANSI_NULLS ON
806GO
807SET QUOTED_IDENTIFIER ON
808GO
809CREATE TABLE [dbo].[CountryCode](
810 [CountryCode3] [char](3) NOT NULL,
811 [CountryName] [varchar](50) NULL,
812PRIMARY KEY CLUSTERED
813(
814 [CountryCode3] ASC
815)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
816) ON [PRIMARY]
817
818GO
819/****** Object: Table [dbo].[CustomIP] Script Date: 28-05-2018 18:12:28 ******/
820SET ANSI_NULLS ON
821GO
822SET QUOTED_IDENTIFIER ON
823GO
824CREATE TABLE [dbo].[CustomIP](
825 [IPFrom] [bigint] NOT NULL,
826 [IPTo] [bigint] NOT NULL,
827 [IsBlock] [tinyint] NOT NULL,
828 [CountryCode3] [char](3) NOT NULL,
829 [Comment] [varchar](128) NULL,
830 [RegDate] [smalldatetime] NULL,
831UNIQUE NONCLUSTERED
832(
833 [IPFrom] ASC
834)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
835UNIQUE NONCLUSTERED
836(
837 [IPTo] ASC
838)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
839) ON [PRIMARY]
840
841GO
842/****** Object: Table [dbo].[DayRanking] Script Date: 28-05-2018 18:12:28 ******/
843SET ANSI_NULLS ON
844GO
845SET QUOTED_IDENTIFIER ON
846GO
847CREATE TABLE [dbo].[DayRanking](
848 [id] [int] IDENTITY(1,1) NOT NULL,
849 [Name] [varchar](24) NOT NULL,
850 [Level] [smallint] NOT NULL,
851 [Point] [int] NULL,
852 [Rank] [int] NULL,
853 CONSTRAINT [PK_DayRanking_ID] PRIMARY KEY CLUSTERED
854(
855 [id] ASC
856)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
857) ON [PRIMARY]
858
859GO
860/****** Object: Table [dbo].[dtproperties] Script Date: 28-05-2018 18:12:28 ******/
861SET ANSI_NULLS ON
862GO
863SET QUOTED_IDENTIFIER ON
864GO
865CREATE TABLE [dbo].[dtproperties](
866 [id] [int] IDENTITY(1,1) NOT NULL,
867 [objectid] [int] NULL,
868 [property] [varchar](64) NOT NULL,
869 [value] [varchar](255) NULL,
870 [uvalue] [nvarchar](255) NULL,
871 [lvalue] [image] NULL,
872 [version] [int] NOT NULL,
873 CONSTRAINT [pk_dtproperties] PRIMARY KEY CLUSTERED
874(
875 [id] ASC,
876 [property] ASC
877)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
878) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
879
880GO
881/****** Object: Table [dbo].[Effect] Script Date: 28-05-2018 18:12:28 ******/
882SET ANSI_NULLS ON
883GO
884SET QUOTED_IDENTIFIER ON
885GO
886CREATE TABLE [dbo].[Effect](
887 [ID] [int] NOT NULL,
888 [Name] [varchar](32) NOT NULL,
889 [Area] [int] NULL,
890 [Time] [int] NULL,
891 [ModHP] [int] NULL,
892 [ModAP] [int] NULL,
893 [ModMaxWT] [int] NULL,
894 [ModSF] [int] NULL,
895 [ModFR] [int] NULL,
896 [ModCR] [int] NULL,
897 [ModPR] [int] NULL,
898 [ModLR] [int] NULL,
899 [ResAP] [int] NULL,
900 [ResFR] [int] NULL,
901 [ResCR] [int] NULL,
902 [ResPR] [int] NULL,
903 [ResLR] [int] NULL,
904 [Stun] [int] NULL,
905 [KnockBack] [int] NULL,
906 [Smoke] [int] NULL,
907 [Flash] [int] NULL,
908 [Tear] [int] NULL,
909 [Flame] [int] NULL,
910 CONSTRAINT [Effect_PK] PRIMARY KEY CLUSTERED
911(
912 [ID] ASC
913)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
914) ON [PRIMARY]
915
916GO
917/****** Object: Table [dbo].[Event] Script Date: 28-05-2018 18:12:28 ******/
918SET ANSI_NULLS ON
919GO
920SET QUOTED_IDENTIFIER ON
921GO
922CREATE TABLE [dbo].[Event](
923 [AID] [int] NOT NULL,
924 [CID] [int] NOT NULL,
925 [RegDate] [smalldatetime] NOT NULL,
926 [Checked] [bit] NULL,
927 [EventName] [varchar](24) NULL
928) ON [PRIMARY]
929
930GO
931/****** Object: Table [dbo].[Event_ClanPointRanking] Script Date: 28-05-2018 18:12:28 ******/
932SET ANSI_NULLS ON
933GO
934SET QUOTED_IDENTIFIER ON
935GO
936CREATE TABLE [dbo].[Event_ClanPointRanking](
937 [id] [int] IDENTITY(1,1) NOT NULL,
938 [Rank] [int] NOT NULL,
939 [CLID] [int] NOT NULL,
940 [Name] [varchar](24) NOT NULL,
941 [Count] [int] NOT NULL,
942 [Point] [int] NOT NULL,
943 [RegDate] [datetime] NOT NULL
944) ON [PRIMARY]
945
946GO
947/****** Object: Table [dbo].[Friend] Script Date: 28-05-2018 18:12:28 ******/
948SET ANSI_NULLS ON
949GO
950SET QUOTED_IDENTIFIER ON
951GO
952CREATE TABLE [dbo].[Friend](
953 [id] [int] IDENTITY(1,1) NOT NULL,
954 [CID] [int] NOT NULL,
955 [FriendCID] [int] NOT NULL,
956 [Type] [int] NOT NULL,
957 [Favorite] [tinyint] NULL,
958 [DeleteFlag] [tinyint] NULL,
959 CONSTRAINT [Friend_PK] PRIMARY KEY CLUSTERED
960(
961 [id] ASC
962)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
963) ON [PRIMARY]
964
965GO
966/****** Object: Table [dbo].[GameLog] Script Date: 28-05-2018 18:12:28 ******/
967SET ANSI_NULLS ON
968GO
969SET QUOTED_IDENTIFIER ON
970GO
971CREATE TABLE [dbo].[GameLog](
972 [id] [int] IDENTITY(1,1) NOT NULL,
973 [GameName] [varchar](64) NULL,
974 [MasterCID] [int] NULL,
975 [Map] [varchar](32) NULL,
976 [GameType] [varchar](24) NULL,
977 [Round] [int] NULL,
978 [StartTime] [datetime] NOT NULL,
979 [PlayerCount] [tinyint] NULL,
980 [Players] [varchar](1000) NULL
981) ON [PRIMARY]
982
983GO
984/****** Object: Table [dbo].[GameType] Script Date: 28-05-2018 18:12:28 ******/
985SET ANSI_NULLS ON
986GO
987SET QUOTED_IDENTIFIER ON
988GO
989CREATE TABLE [dbo].[GameType](
990 [GameTypeID] [int] NOT NULL,
991 [Name] [varchar](256) NULL,
992 CONSTRAINT [GameType_PK] PRIMARY KEY CLUSTERED
993(
994 [GameTypeID] ASC
995)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
996) ON [PRIMARY]
997
998GO
999/****** Object: Table [dbo].[IPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
1000SET ANSI_NULLS ON
1001GO
1002SET QUOTED_IDENTIFIER ON
1003GO
1004CREATE TABLE [dbo].[IPtoCountry](
1005 [IPFrom] [varchar](8000) NULL,
1006 [IPTo] [varchar](8000) NULL,
1007 [CountryCode2] [varchar](8000) NULL,
1008 [CountryCode3] [varchar](8000) NULL,
1009 [CountryName] [varchar](8000) NULL
1010) ON [PRIMARY]
1011
1012GO
1013/****** Object: Table [dbo].[IPtoCountryOld060612] Script Date: 28-05-2018 18:12:28 ******/
1014SET ANSI_NULLS ON
1015GO
1016SET QUOTED_IDENTIFIER ON
1017GO
1018CREATE TABLE [dbo].[IPtoCountryOld060612](
1019 [IPFrom] [numeric](18, 0) NOT NULL,
1020 [IPTo] [numeric](18, 0) NOT NULL,
1021 [CountryCode2] [char](2) NOT NULL,
1022 [CountryCode3] [char](3) NOT NULL,
1023 [CountryName] [varchar](50) NOT NULL,
1024 CONSTRAINT [PK_IPtoCountry_IPRange] PRIMARY KEY CLUSTERED
1025(
1026 [IPFrom] ASC,
1027 [IPTo] ASC
1028)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1029) ON [PRIMARY]
1030
1031GO
1032/****** Object: Table [dbo].[Item] Script Date: 28-05-2018 18:12:28 ******/
1033SET ANSI_NULLS ON
1034GO
1035SET QUOTED_IDENTIFIER ON
1036GO
1037CREATE TABLE [dbo].[Item](
1038 [ItemID] [int] NOT NULL,
1039 [Name] [varchar](256) NOT NULL,
1040 [TotalPoint] [int] NULL,
1041 [ResSex] [tinyint] NULL,
1042 [ResRace] [tinyint] NULL,
1043 [ResLevel] [int] NULL,
1044 [Slot] [tinyint] NULL,
1045 [Weight] [int] NULL,
1046 [BountyPrice] [int] NULL,
1047 [Damage] [int] NULL,
1048 [Delay] [int] NULL,
1049 [EffectID] [int] NULL,
1050 [Controllability] [int] NULL,
1051 [Magazine] [int] NULL,
1052 [ReloadTime] [int] NULL,
1053 [SlugOutput] [tinyint] NULL,
1054 [Gadget] [int] NULL,
1055 [HP] [int] NULL,
1056 [AP] [int] NULL,
1057 [MAXWT] [int] NULL,
1058 [SF] [int] NULL,
1059 [FR] [int] NULL,
1060 [CR] [int] NULL,
1061 [PR] [int] NULL,
1062 [LR] [int] NULL,
1063 [BlendColor] [int] NULL,
1064 [ModelName] [varchar](64) NULL,
1065 [Description] [varchar](1024) NULL,
1066 [MaxBullet] [int] NULL,
1067 [LimitSpeed] [tinyint] NULL,
1068 [IsCashItem] [tinyint] NULL,
1069 CONSTRAINT [Item_PK] PRIMARY KEY CLUSTERED
1070(
1071 [ItemID] ASC
1072)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1073) ON [PRIMARY]
1074
1075GO
1076/****** Object: Table [dbo].[ItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
1077SET ANSI_NULLS ON
1078GO
1079SET QUOTED_IDENTIFIER ON
1080GO
1081CREATE TABLE [dbo].[ItemPurchaseLogByBounty](
1082 [id] [int] IDENTITY(1,1) NOT NULL,
1083 [ItemID] [int] NOT NULL,
1084 [CID] [int] NULL,
1085 [Date] [datetime] NULL,
1086 [Bounty] [int] NULL,
1087 [CharBounty] [int] NULL,
1088 [Type] [varchar](20) NULL
1089) ON [PRIMARY]
1090
1091GO
1092/****** Object: Table [dbo].[ItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1093SET ANSI_NULLS ON
1094GO
1095SET QUOTED_IDENTIFIER ON
1096GO
1097CREATE TABLE [dbo].[ItemPurchaseLogByCash](
1098 [id] [int] IDENTITY(1,1) NOT NULL,
1099 [AID] [int] NULL,
1100 [ItemID] [int] NOT NULL,
1101 [Date] [datetime] NOT NULL,
1102 [Cash] [int] NULL,
1103 [RentHourPeriod] [int] NULL,
1104 [MobileCode] [char](16) NULL
1105) ON [PRIMARY]
1106
1107GO
1108/****** Object: Table [dbo].[ItemSlotType] Script Date: 28-05-2018 18:12:28 ******/
1109SET ANSI_NULLS ON
1110GO
1111SET QUOTED_IDENTIFIER ON
1112GO
1113CREATE TABLE [dbo].[ItemSlotType](
1114 [SlotType] [int] NOT NULL,
1115 [Description] [varchar](24) NULL,
1116 [Category] [varchar](24) NULL,
1117PRIMARY KEY CLUSTERED
1118(
1119 [SlotType] ASC
1120)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1121) ON [PRIMARY]
1122
1123GO
1124/****** Object: Table [dbo].[KillLog] Script Date: 28-05-2018 18:12:28 ******/
1125SET ANSI_NULLS ON
1126GO
1127SET QUOTED_IDENTIFIER ON
1128GO
1129CREATE TABLE [dbo].[KillLog](
1130 [id] [int] IDENTITY(1,1) NOT NULL,
1131 [AttackerCID] [int] NULL,
1132 [VictimCID] [int] NULL,
1133 [Time] [datetime] NULL,
1134 CONSTRAINT [KillLog_PK] PRIMARY KEY CLUSTERED
1135(
1136 [id] ASC
1137)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1138) ON [PRIMARY]
1139
1140GO
1141/****** Object: Table [dbo].[Level] Script Date: 28-05-2018 18:12:28 ******/
1142SET ANSI_NULLS ON
1143GO
1144SET QUOTED_IDENTIFIER ON
1145GO
1146CREATE TABLE [dbo].[Level](
1147 [Level] [smallint] NOT NULL,
1148 [MinXP] [int] NULL,
1149PRIMARY KEY CLUSTERED
1150(
1151 [Level] ASC
1152)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1153) ON [PRIMARY]
1154
1155GO
1156/****** Object: Table [dbo].[LevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
1157SET ANSI_NULLS ON
1158GO
1159SET QUOTED_IDENTIFIER ON
1160GO
1161CREATE TABLE [dbo].[LevelUpLog](
1162 [id] [int] IDENTITY(1,1) NOT NULL,
1163 [CID] [int] NULL,
1164 [Level] [smallint] NULL,
1165 [BP] [int] NULL,
1166 [KillCount] [int] NULL,
1167 [DeathCount] [int] NULL,
1168 [PlayTime] [int] NULL,
1169 [Date] [datetime] NULL,
1170 CONSTRAINT [LevelUpLog_PK_20050310] PRIMARY KEY NONCLUSTERED
1171(
1172 [id] ASC
1173)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1174) ON [PRIMARY]
1175
1176GO
1177/****** Object: Table [dbo].[LocatorCountryStatistics] Script Date: 28-05-2018 18:12:28 ******/
1178SET ANSI_NULLS ON
1179GO
1180SET QUOTED_IDENTIFIER ON
1181GO
1182CREATE TABLE [dbo].[LocatorCountryStatistics](
1183 [LocatorID] [int] NULL,
1184 [CountryCode3] [char](3) NULL,
1185 [Count] [int] NULL,
1186 [RegDate] [smalldatetime] NULL
1187) ON [PRIMARY]
1188
1189GO
1190/****** Object: Table [dbo].[LocatorLog] Script Date: 28-05-2018 18:12:28 ******/
1191SET ANSI_NULLS ON
1192GO
1193SET QUOTED_IDENTIFIER ON
1194GO
1195CREATE TABLE [dbo].[LocatorLog](
1196 [LocatorID] [int] NULL,
1197 [CountryCode3] [varchar](3) NULL,
1198 [Count] [int] NULL,
1199 [RegDate] [smalldatetime] NULL
1200) ON [PRIMARY]
1201
1202GO
1203/****** Object: Table [dbo].[LocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
1204SET ANSI_NULLS ON
1205GO
1206SET QUOTED_IDENTIFIER ON
1207GO
1208CREATE TABLE [dbo].[LocatorStatus](
1209 [LocatorID] [int] NOT NULL,
1210 [IP] [varchar](15) NOT NULL,
1211 [Port] [int] NOT NULL,
1212 [RecvCount] [int] NULL,
1213 [SendCount] [int] NULL,
1214 [BlockCount] [int] NULL,
1215 [DuplicatedCount] [int] NULL,
1216 [UpdateElapsedTime] [int] NOT NULL,
1217 [LastUpdatedTime] [datetime] NULL,
1218PRIMARY KEY CLUSTERED
1219(
1220 [LocatorID] ASC
1221)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1222UNIQUE NONCLUSTERED
1223(
1224 [IP] ASC
1225)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1226) ON [PRIMARY]
1227
1228GO
1229/****** Object: Table [dbo].[Login] Script Date: 28-05-2018 18:12:28 ******/
1230SET ANSI_NULLS ON
1231GO
1232SET QUOTED_IDENTIFIER ON
1233GO
1234CREATE TABLE [dbo].[Login](
1235 [UserID] [varchar](20) NOT NULL,
1236 [AID] [int] NOT NULL,
1237 [LastConnDate] [datetime] NULL,
1238 [LastIP] [varchar](20) NULL,
1239 [PasswordData] [varchar](128) NULL,
1240 CONSTRAINT [Login_PK] PRIMARY KEY CLUSTERED
1241(
1242 [UserID] ASC
1243)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1244) ON [PRIMARY]
1245
1246GO
1247/****** Object: Table [dbo].[Map] Script Date: 28-05-2018 18:12:28 ******/
1248SET ANSI_NULLS ON
1249GO
1250SET QUOTED_IDENTIFIER ON
1251GO
1252CREATE TABLE [dbo].[Map](
1253 [MapID] [int] NOT NULL,
1254 [Name] [varchar](256) NOT NULL,
1255 [MaxPlayer] [int] NOT NULL,
1256 CONSTRAINT [Map_PK] PRIMARY KEY CLUSTERED
1257(
1258 [MapID] ASC
1259)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1260) ON [PRIMARY]
1261
1262GO
1263/****** Object: Table [dbo].[PenaltyLog] Script Date: 28-05-2018 18:12:28 ******/
1264SET ANSI_NULLS ON
1265GO
1266SET QUOTED_IDENTIFIER ON
1267GO
1268CREATE TABLE [dbo].[PenaltyLog](
1269 [id] [int] IDENTITY(1,1) NOT NULL,
1270 [AID] [int] NOT NULL,
1271 [UGradeID] [int] NOT NULL,
1272 [Date] [datetime] NOT NULL,
1273 CONSTRAINT [PenaltyLog_PK] PRIMARY KEY CLUSTERED
1274(
1275 [id] ASC
1276)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1277) ON [PRIMARY]
1278
1279GO
1280/****** Object: Table [dbo].[PersonalinfoGunz] Script Date: 28-05-2018 18:12:28 ******/
1281SET ANSI_NULLS ON
1282GO
1283SET QUOTED_IDENTIFIER ON
1284GO
1285CREATE TABLE [dbo].[PersonalinfoGunz](
1286 [AID] [int] NOT NULL,
1287 [birthday] [smalldatetime] NULL,
1288 [city] [nvarchar](50) NULL,
1289 [state] [char](2) NULL,
1290 [connecType] [nvarchar](30) NULL,
1291 [phone] [varchar](15) NULL,
1292 [speed] [varchar](50) NULL,
1293 [msgLU] [bit] NULL,
1294 [statusLUA] [bit] NOT NULL,
1295 CONSTRAINT [PK_PersonalinfoGunz] PRIMARY KEY CLUSTERED
1296(
1297 [AID] ASC
1298)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1299) ON [PRIMARY]
1300
1301GO
1302/****** Object: Table [dbo].[PlayerLog] Script Date: 28-05-2018 18:12:28 ******/
1303SET ANSI_NULLS ON
1304GO
1305SET QUOTED_IDENTIFIER ON
1306GO
1307CREATE TABLE [dbo].[PlayerLog](
1308 [id] [int] IDENTITY(1,1) NOT NULL,
1309 [CID] [int] NULL,
1310 [DisTime] [datetime] NULL,
1311 [PlayTime] [int] NULL,
1312 [Kills] [int] NULL,
1313 [Deaths] [int] NULL,
1314 [XP] [int] NULL,
1315 [TotalXP] [int] NULL
1316) ON [PRIMARY]
1317
1318GO
1319/****** Object: Table [dbo].[PremiumGrade] Script Date: 28-05-2018 18:12:28 ******/
1320SET ANSI_NULLS ON
1321GO
1322SET QUOTED_IDENTIFIER ON
1323GO
1324CREATE TABLE [dbo].[PremiumGrade](
1325 [PGradeID] [int] NOT NULL,
1326 [Name] [varchar](128) NOT NULL,
1327 CONSTRAINT [PremiumGrade_PK] PRIMARY KEY CLUSTERED
1328(
1329 [PGradeID] ASC
1330)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1331) ON [PRIMARY]
1332
1333GO
1334/****** Object: Table [dbo].[PurchaseMethod] Script Date: 28-05-2018 18:12:28 ******/
1335SET ANSI_NULLS ON
1336GO
1337SET QUOTED_IDENTIFIER ON
1338GO
1339CREATE TABLE [dbo].[PurchaseMethod](
1340 [PurchaseMethodID] [int] NOT NULL,
1341 [Name] [varchar](256) NULL,
1342 CONSTRAINT [PurchaseMethod_PK] PRIMARY KEY CLUSTERED
1343(
1344 [PurchaseMethodID] ASC
1345)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1346) ON [PRIMARY]
1347
1348GO
1349/****** Object: Table [dbo].[QuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
1350SET ANSI_NULLS ON
1351GO
1352SET QUOTED_IDENTIFIER ON
1353GO
1354CREATE TABLE [dbo].[QuestGameLog](
1355 [id] [int] IDENTITY(1,1) NOT NULL,
1356 [GameName] [varchar](64) NULL,
1357 [Master] [int] NOT NULL,
1358 [Player1] [int] NULL,
1359 [Player2] [int] NULL,
1360 [Player3] [int] NULL,
1361 [TotalQItemCount] [tinyint] NULL,
1362 [ScenarioID] [smallint] NOT NULL,
1363 [StartTime] [smalldatetime] NOT NULL,
1364 [EndTime] [smalldatetime] NOT NULL,
1365PRIMARY KEY NONCLUSTERED
1366(
1367 [id] ASC
1368)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1369) ON [PRIMARY]
1370
1371GO
1372/****** Object: Table [dbo].[QuestItem] Script Date: 28-05-2018 18:12:28 ******/
1373SET ANSI_NULLS ON
1374GO
1375SET QUOTED_IDENTIFIER ON
1376GO
1377CREATE TABLE [dbo].[QuestItem](
1378 [QIID] [int] NOT NULL,
1379 [Name] [char](32) NULL,
1380 [Level] [tinyint] NULL,
1381 [Description] [varchar](200) NULL,
1382 [Price] [int] NULL,
1383 [UniqueItem] [bit] NOT NULL,
1384 [Sacrifice] [bit] NOT NULL,
1385 [Type] [char](10) NULL,
1386 [Param] [int] NULL,
1387PRIMARY KEY CLUSTERED
1388(
1389 [QIID] ASC
1390)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1391) ON [PRIMARY]
1392
1393GO
1394/****** Object: Table [dbo].[QUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
1395SET ANSI_NULLS ON
1396GO
1397SET QUOTED_IDENTIFIER ON
1398GO
1399CREATE TABLE [dbo].[QUniqueItemLog](
1400 [QUILID] [int] IDENTITY(1,1) NOT NULL,
1401 [QGLID] [int] NULL,
1402 [CID] [int] NOT NULL,
1403 [QIID] [int] NOT NULL,
1404PRIMARY KEY NONCLUSTERED
1405(
1406 [QUILID] ASC
1407)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1408) ON [PRIMARY]
1409
1410GO
1411/****** Object: Table [dbo].[RentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1412SET ANSI_NULLS ON
1413GO
1414SET QUOTED_IDENTIFIER ON
1415GO
1416CREATE TABLE [dbo].[RentCashSetShopPrice](
1417 [RCSSPID] [int] IDENTITY(1,1) NOT NULL,
1418 [CSSID] [int] NULL,
1419 [RentHourPeriod] [smallint] NULL,
1420 [CashPrice] [int] NULL,
1421PRIMARY KEY CLUSTERED
1422(
1423 [RCSSPID] ASC
1424)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1425) ON [PRIMARY]
1426
1427GO
1428/****** Object: Table [dbo].[RentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
1429SET ANSI_NULLS ON
1430GO
1431SET QUOTED_IDENTIFIER ON
1432GO
1433CREATE TABLE [dbo].[RentCashShopPrice](
1434 [RCSPID] [int] IDENTITY(1,1) NOT NULL,
1435 [CSID] [int] NULL,
1436 [RentHourPeriod] [smallint] NULL,
1437 [CashPrice] [int] NULL,
1438PRIMARY KEY CLUSTERED
1439(
1440 [RCSPID] ASC
1441)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1442) ON [PRIMARY]
1443
1444GO
1445/****** Object: Table [dbo].[RentPeriodDay] Script Date: 28-05-2018 18:12:28 ******/
1446SET ANSI_NULLS ON
1447GO
1448SET QUOTED_IDENTIFIER ON
1449GO
1450CREATE TABLE [dbo].[RentPeriodDay](
1451 [Day] [int] NOT NULL,
1452 [Hour] [int] NOT NULL,
1453PRIMARY KEY CLUSTERED
1454(
1455 [Day] ASC
1456)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
1457UNIQUE NONCLUSTERED
1458(
1459 [Hour] ASC
1460)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1461) ON [PRIMARY]
1462
1463GO
1464/****** Object: Table [dbo].[RentType] Script Date: 28-05-2018 18:12:28 ******/
1465SET ANSI_NULLS ON
1466GO
1467SET QUOTED_IDENTIFIER ON
1468GO
1469CREATE TABLE [dbo].[RentType](
1470 [TypeID] [int] NOT NULL,
1471 [Description] [varchar](256) NULL,
1472PRIMARY KEY CLUSTERED
1473(
1474 [TypeID] ASC
1475)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1476) ON [PRIMARY]
1477
1478GO
1479/****** Object: Table [dbo].[ServerLog] Script Date: 28-05-2018 18:12:28 ******/
1480SET ANSI_NULLS ON
1481GO
1482SET QUOTED_IDENTIFIER ON
1483GO
1484CREATE TABLE [dbo].[ServerLog](
1485 [id] [int] IDENTITY(1,1) NOT NULL,
1486 [ServerID] [smallint] NULL,
1487 [PlayerCount] [smallint] NULL,
1488 [GameCount] [smallint] NULL,
1489 [Time] [smalldatetime] NULL,
1490 [BlockCount] [int] NULL,
1491 [NonBlockCount] [int] NULL
1492) ON [PRIMARY]
1493
1494GO
1495/****** Object: Table [dbo].[ServerStatus] Script Date: 28-05-2018 18:12:28 ******/
1496SET ANSI_NULLS ON
1497GO
1498SET QUOTED_IDENTIFIER ON
1499GO
1500CREATE TABLE [dbo].[ServerStatus](
1501 [ServerID] [int] NOT NULL,
1502 [CurrPlayer] [smallint] NULL,
1503 [MaxPlayer] [smallint] NULL,
1504 [Time] [datetime] NULL,
1505 [IP] [varchar](32) NULL,
1506 [Port] [int] NULL,
1507 [ServerName] [varchar](64) NULL,
1508 [Opened] [tinyint] NULL,
1509 [Type] [int] NULL,
1510 CONSTRAINT [ServerStatus_PK] PRIMARY KEY CLUSTERED
1511(
1512 [ServerID] ASC
1513)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1514) ON [PRIMARY]
1515
1516GO
1517/****** Object: Table [dbo].[ServerType] Script Date: 28-05-2018 18:12:28 ******/
1518SET ANSI_NULLS ON
1519GO
1520SET QUOTED_IDENTIFIER ON
1521GO
1522CREATE TABLE [dbo].[ServerType](
1523 [Type] [int] NOT NULL,
1524 [Description] [varchar](128) NULL,
1525PRIMARY KEY CLUSTERED
1526(
1527 [Type] ASC
1528)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1529) ON [PRIMARY]
1530
1531GO
1532/****** Object: Table [dbo].[SetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1533SET ANSI_NULLS ON
1534GO
1535SET QUOTED_IDENTIFIER ON
1536GO
1537CREATE TABLE [dbo].[SetItemPurchaseLogByCash](
1538 [id] [int] IDENTITY(1,1) NOT NULL,
1539 [AID] [int] NULL,
1540 [CSSID] [int] NULL,
1541 [Date] [datetime] NOT NULL,
1542 [Cash] [int] NULL,
1543 [RentHourPeriod] [int] NULL,
1544 [MobileCode] [char](16) NULL
1545) ON [PRIMARY]
1546
1547GO
1548/****** Object: Table [dbo].[sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
1549SET ANSI_NULLS ON
1550GO
1551SET QUOTED_IDENTIFIER ON
1552GO
1553CREATE TABLE [dbo].[sjr_TableSizeIncr](
1554 [name] [varchar](40) NULL,
1555 [rows] [int] NULL,
1556 [reserved] [varchar](100) NULL,
1557 [date] [varchar](100) NULL,
1558 [index_size] [varchar](100) NULL,
1559 [unused] [varchar](100) NULL,
1560 [rd] [datetime] NULL
1561) ON [PRIMARY]
1562
1563GO
1564/****** Object: Table [dbo].[TESTE] Script Date: 28-05-2018 18:12:28 ******/
1565SET ANSI_NULLS ON
1566GO
1567SET QUOTED_IDENTIFIER ON
1568GO
1569CREATE TABLE [dbo].[TESTE](
1570 [AID] [int] IDENTITY(1,1) NOT NULL,
1571 [UserID] [varchar](20) NOT NULL,
1572 [UGradeID] [int] NOT NULL,
1573 [PGradeID] [int] NOT NULL,
1574 [RegDate] [datetime] NOT NULL,
1575 [Name] [varchar](50) NOT NULL,
1576 [Email] [varchar](50) NULL,
1577 [RegNum] [varchar](50) NULL,
1578 [Age] [smallint] NULL,
1579 [Sex] [tinyint] NULL,
1580 [ZipCode] [varchar](50) NULL,
1581 [Address] [varchar](256) NULL,
1582 [Country] [varchar](50) NULL,
1583 [LastCID] [int] NULL,
1584 [Cert] [tinyint] NULL
1585) ON [PRIMARY]
1586
1587GO
1588/****** Object: Table [dbo].[TotalRanking] Script Date: 28-05-2018 18:12:28 ******/
1589SET ANSI_NULLS ON
1590GO
1591SET QUOTED_IDENTIFIER ON
1592GO
1593CREATE TABLE [dbo].[TotalRanking](
1594 [Rank] [int] IDENTITY(1,1) NOT NULL,
1595 [UserID] [varchar](20) NULL,
1596 [Name] [varchar](24) NOT NULL,
1597 [Level] [smallint] NOT NULL,
1598 [XP] [int] NULL,
1599 [KillCount] [int] NULL,
1600 [DeathCount] [int] NULL,
1601 CONSTRAINT [PK_TotalRanking_Rank] PRIMARY KEY CLUSTERED
1602(
1603 [Rank] ASC
1604)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1605) ON [PRIMARY]
1606
1607GO
1608/****** Object: Table [dbo].[UserGrade] Script Date: 28-05-2018 18:12:28 ******/
1609SET ANSI_NULLS ON
1610GO
1611SET QUOTED_IDENTIFIER ON
1612GO
1613CREATE TABLE [dbo].[UserGrade](
1614 [UGradeID] [int] NOT NULL,
1615 [Name] [varchar](128) NOT NULL,
1616 CONSTRAINT [UserGrade_PK] PRIMARY KEY CLUSTERED
1617(
1618 [UGradeID] ASC
1619)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1620) ON [PRIMARY]
1621
1622GO
1623/****** Object: Table [dbo].[UV] Script Date: 28-05-2018 18:12:28 ******/
1624SET ANSI_NULLS ON
1625GO
1626SET QUOTED_IDENTIFIER ON
1627GO
1628CREATE TABLE [dbo].[UV](
1629 [id] [int] IDENTITY(1,1) NOT NULL,
1630 [Time] [smalldatetime] NOT NULL,
1631 [Count] [int] NOT NULL,
1632PRIMARY KEY CLUSTERED
1633(
1634 [id] ASC
1635)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
1636) ON [PRIMARY]
1637
1638GO
1639/****** Object: Table [dbo].[Web_ItemShop] Script Date: 28-05-2018 18:12:28 ******/
1640SET ANSI_NULLS ON
1641GO
1642SET QUOTED_IDENTIFIER ON
1643GO
1644CREATE TABLE [dbo].[Web_ItemShop](
1645 [ID] [int] IDENTITY(1,1) NOT NULL,
1646 [Name] [varchar](50) NOT NULL,
1647 [Description] [text] NOT NULL,
1648 [Stats] [text] NOT NULL,
1649 [Weight] [int] NOT NULL,
1650 [Gender] [int] NOT NULL,
1651 [Price] [int] NOT NULL,
1652 [Cat] [varchar](50) NOT NULL,
1653 [Active] [int] NOT NULL,
1654 [Image] [varchar](50) NOT NULL,
1655 [ItemID] [varchar](100) NOT NULL
1656) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1657
1658GO
1659/****** Object: Table [dbo].[Web_News] Script Date: 28-05-2018 18:12:28 ******/
1660SET ANSI_NULLS ON
1661GO
1662SET QUOTED_IDENTIFIER ON
1663GO
1664CREATE TABLE [dbo].[Web_News](
1665 [ID] [int] IDENTITY(1,1) NOT NULL,
1666 [Title] [varchar](50) NOT NULL,
1667 [Text] [text] NOT NULL,
1668 [Author] [varchar](25) NOT NULL,
1669 [Date] [varchar](25) NOT NULL,
1670 [Type] [int] NOT NULL,
1671 [Views] [int] NOT NULL,
1672 [Active] [int] NOT NULL
1673) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
1674
1675GO
1676/****** Object: View [dbo].[viewCashItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1677SET ANSI_NULLS ON
1678GO
1679SET QUOTED_IDENTIFIER ON
1680GO
1681
1682CREATE VIEW [dbo].[viewCashItemPresentLog]
1683AS
1684
1685SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1686i.Name AS ItemName, cpl.Date AS Date FROM CashItemPresentLog cpl, Account a(nolock), CashShop cs(nolock), Item i(nolock)
1687WHERE cpl.ReceiverAID=a.AID AND cpl.CSID IS Not NULL AND cpl.csid=cs.csid AND cs.ItemID=i.ItemID
1688
1689
1690
1691
1692GO
1693/****** Object: View [dbo].[viewCashSetItemPresentLog] Script Date: 28-05-2018 18:12:28 ******/
1694SET ANSI_NULLS ON
1695GO
1696SET QUOTED_IDENTIFIER ON
1697GO
1698
1699
1700--------------------
1701
1702CREATE VIEW [dbo].[viewCashSetItemPresentLog] -- M
1703AS
1704
1705SELECT cpl.id AS id, cpl.SenderUserID AS SenderUserID, a.UserID AS ReceiverUserID,
1706css.Name AS SetItemName, cpl.Date AS Date, MobileCode
1707FROM CashItemPresentLog cpl, Account a(nolock), CashSetShop css(nolock)
1708WHERE cpl.ReceiverAID=a.AID AND cpl.CSSID IS Not NULL AND cpl.cssid=css.cssid
1709
1710
1711
1712
1713GO
1714/****** Object: View [dbo].[viewEventGetCharacterLevel] Script Date: 28-05-2018 18:12:28 ******/
1715SET ANSI_NULLS ON
1716GO
1717SET QUOTED_IDENTIFIER ON
1718GO
1719
1720
1721-----------------------
1722
1723CREATE VIEW [dbo].[viewEventGetCharacterLevel]
1724AS
1725
1726SELECT a.userid AS userid, c.name AS chr_name, c.level AS chr_level FROM Account a(nolock), Character c(nolock)
1727WHERE
1728a.aid=c.aid AND c.DeleteFlag=0
1729
1730
1731
1732
1733GO
1734/****** Object: View [dbo].[viewHonorRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1735SET ANSI_NULLS ON
1736GO
1737SET QUOTED_IDENTIFIER ON
1738GO
1739
1740
1741----------------------------
1742
1743CREATE VIEW [dbo].[viewHonorRankGunzClan]
1744AS
1745
1746SELECT chr.CLID, chr.ClanName, chr.Point, chr.Wins, chr.Losses, c.EmblemUrl, chr.Ranking, chr.RankIncrease, chr.Year, chr.Month
1747FROM ClanHonorRanking chr(nolock), Clan c(nolock)
1748WHERE chr.CLID=c.CLID
1749
1750
1751
1752
1753GO
1754/****** Object: View [dbo].[viewItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1755SET ANSI_NULLS ON
1756GO
1757SET QUOTED_IDENTIFIER ON
1758GO
1759
1760
1761-----------------------------
1762
1763CREATE VIEW [dbo].[viewItemPurchaseLogByCash] -- M
1764AS
1765SELECT ipl.id AS id, a.UserID AS UserID, i.Name AS ItemName, ipl.Date AS Date, ipl.Cash AS Cash, ipl.MobileCode
1766FROM ItemPurchaseLogByCash ipl, Account a, Item i
1767WHERE ipl.AID = a.AID AND ipl.ItemID=i.ItemID
1768
1769
1770
1771
1772GO
1773/****** Object: View [dbo].[viewRankGunzClan] Script Date: 28-05-2018 18:12:28 ******/
1774SET ANSI_NULLS ON
1775GO
1776SET QUOTED_IDENTIFIER ON
1777GO
1778
1779
1780-------------------------------
1781
1782CREATE VIEW [dbo].[viewRankGunzClan]
1783AS
1784
1785SELECT CLID, Name as ClanName, Point, Wins, Losses, EmblemUrl, Ranking, RankIncrease
1786FROM Clan(nolock)
1787WHERE DeleteFlag=0 and Ranking>0
1788
1789
1790
1791
1792GO
1793/****** Object: View [dbo].[viewSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
1794SET ANSI_NULLS ON
1795GO
1796SET QUOTED_IDENTIFIER ON
1797GO
1798
1799
1800---------------------------------
1801
1802CREATE VIEW [dbo].[viewSetItemPurchaseLogByCash] -- M
1803AS
1804SELECT id, a.UserID AS UserID, css.Name AS SetItemName, sipl.Date AS Date, sipl.Cash, MobileCode
1805FROM SetItemPurchaseLogByCash sipl, Account a, CashSetShop css
1806WHERE sipl.AID = a.AID AND css.cssid = sipl.cssid
1807
1808
1809
1810
1811GO
1812ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentD__116A8EFB] DEFAULT (NULL) FOR [RentDate]
1813GO
1814ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountIt__RentH__125EB334] DEFAULT (NULL) FOR [RentHourPeriod]
1815GO
1816ALTER TABLE [dbo].[AccountItem] ADD CONSTRAINT [DF__AccountItem__Cnt__1352D76D] DEFAULT (NULL) FOR [Cnt]
1817GO
1818ALTER TABLE [dbo].[BlockCountryCode] ADD CONSTRAINT [DF__BlockCoun__IsBlo__0E04126B] DEFAULT ((0)) FOR [IsBlock]
1819GO
1820ALTER TABLE [dbo].[CashShopNewItem] ADD CONSTRAINT [DF__CashShopN__RegDa__2D67AF2B] DEFAULT (getdate()) FOR [RegDate]
1821GO
1822ALTER TABLE [dbo].[CashShopRank] ADD CONSTRAINT [DF__CashShopR__RegDa__1C3D2329] DEFAULT (getdate()) FOR [RegDate]
1823GO
1824ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentD__0E8E2250] DEFAULT (NULL) FOR [RentDate]
1825GO
1826ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__Character__RentH__0F824689] DEFAULT (NULL) FOR [RentHourPeriod]
1827GO
1828ALTER TABLE [dbo].[CharacterItem] ADD CONSTRAINT [DF__CharacterIt__Cnt__10766AC2] DEFAULT (NULL) FOR [Cnt]
1829GO
1830ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Exp__740F363E] DEFAULT ((0)) FOR [Exp]
1831GO
1832ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Level__75035A77] DEFAULT ((1)) FOR [Level]
1833GO
1834ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF_Clan_Point] DEFAULT ((1000)) FOR [Point]
1835GO
1836ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Wins__76EBA2E9] DEFAULT ((0)) FOR [Wins]
1837GO
1838ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__DeleteFlag__78D3EB5B] DEFAULT ((0)) FOR [DeleteFlag]
1839GO
1840ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Losses__6774552F] DEFAULT ((0)) FOR [Losses]
1841GO
1842ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Draws__68687968] DEFAULT ((0)) FOR [Draws]
1843GO
1844ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__Ranking__695C9DA1] DEFAULT ((0)) FOR [Ranking]
1845GO
1846ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__TotalPoint__6A50C1DA] DEFAULT ((0)) FOR [TotalPoint]
1847GO
1848ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__RankIncrea__7E57BA87] DEFAULT ((0)) FOR [RankIncrease]
1849GO
1850ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__EmblemChec__004002F9] DEFAULT ((0)) FOR [EmblemChecksum]
1851GO
1852ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastDayRan__031C6FA4] DEFAULT ((0)) FOR [LastDayRanking]
1853GO
1854ALTER TABLE [dbo].[Clan] ADD CONSTRAINT [DF__Clan__LastMonthR__041093DD] DEFAULT ((0)) FOR [LastMonthRanking]
1855GO
1856ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__ReadC__2D7CBDC4] DEFAULT ((0)) FOR [ReadCount]
1857GO
1858ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Recom__2E70E1FD] DEFAULT ((0)) FOR [Recommend]
1859GO
1860ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBoa__HTML__2F650636] DEFAULT ((0)) FOR [HTML]
1861GO
1862ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Comme__30592A6F] DEFAULT ((0)) FOR [CommentCount]
1863GO
1864ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_ID__314D4EA8] DEFAULT ((0)) FOR [GR_ID]
1865GO
1866ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_De__324172E1] DEFAULT ((0)) FOR [GR_Depth]
1867GO
1868ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__GR_Po__3335971A] DEFAULT ((0)) FOR [GR_Pos]
1869GO
1870ALTER TABLE [dbo].[ClanAdsBoard] ADD CONSTRAINT [DF__ClanAdsBo__Threa__3429BB53] DEFAULT ((0)) FOR [Thread]
1871GO
1872ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__ReadC__45544755] DEFAULT ((0)) FOR [ReadCount]
1873GO
1874ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Recom__46486B8E] DEFAULT ((0)) FOR [Recommend]
1875GO
1876ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__HTML__473C8FC7] DEFAULT ((0)) FOR [HTML]
1877GO
1878ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Comme__4830B400] DEFAULT ((0)) FOR [CommentCount]
1879GO
1880ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_ID__4924D839] DEFAULT ((0)) FOR [GR_ID]
1881GO
1882ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_De__4A18FC72] DEFAULT ((0)) FOR [GR_Depth]
1883GO
1884ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__GR_Po__4B0D20AB] DEFAULT ((0)) FOR [GR_Pos]
1885GO
1886ALTER TABLE [dbo].[ClanBoard] ADD CONSTRAINT [DF__ClanBoard__Threa__4C0144E4] DEFAULT ((0)) FOR [Thread]
1887GO
1888ALTER TABLE [dbo].[ClanHonorRanking] ADD CONSTRAINT [DF__ClanHonor__RankI__0504B816] DEFAULT ((0)) FOR [RankIncrease]
1889GO
1890ALTER TABLE [dbo].[ClanMember] ADD CONSTRAINT [DF__ClanMembe__ContP__6B44E613] DEFAULT ((0)) FOR [ContPoint]
1891GO
1892ALTER TABLE [dbo].[dtproperties] ADD CONSTRAINT [DF__dtpropert__versi__0A9D95DB] DEFAULT ((0)) FOR [version]
1893GO
1894ALTER TABLE [dbo].[Event_ClanPointRanking] ADD CONSTRAINT [DF__Event_Cla__RegDa__49CEE3AF] DEFAULT (getdate()) FOR [RegDate]
1895GO
1896ALTER TABLE [dbo].[PersonalinfoGunz] ADD CONSTRAINT [DF_PersonalinfoGunz_statusLUA] DEFAULT ((1)) FOR [statusLUA]
1897GO
1898ALTER TABLE [dbo].[sjr_TableSizeIncr] ADD CONSTRAINT [DF__sjr_TableSiz__rd__1229A90A] DEFAULT (getdate()) FOR [rd]
1899GO
1900ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Account_Table1_FK1] FOREIGN KEY([AID])
1901REFERENCES [dbo].[Account] ([AID])
1902GO
1903ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Account_Table1_FK1]
1904GO
1905ALTER TABLE [dbo].[AccountItem] WITH NOCHECK ADD CONSTRAINT [Item_Table1_FK1] FOREIGN KEY([ItemID])
1906REFERENCES [dbo].[Item] ([ItemID])
1907GO
1908ALTER TABLE [dbo].[AccountItem] CHECK CONSTRAINT [Item_Table1_FK1]
1909GO
1910ALTER TABLE [dbo].[AccountPenaltyPeriod] WITH NOCHECK ADD CONSTRAINT [AccountPenaltyPeriod_Account_FK1] FOREIGN KEY([AID])
1911REFERENCES [dbo].[Account] ([AID])
1912GO
1913ALTER TABLE [dbo].[AccountPenaltyPeriod] CHECK CONSTRAINT [AccountPenaltyPeriod_Account_FK1]
1914GO
1915ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Account_BringAccountItemLog_FK1] FOREIGN KEY([AID])
1916REFERENCES [dbo].[Account] ([AID])
1917GO
1918ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Account_BringAccountItemLog_FK1]
1919GO
1920ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Character_BringAccountItemLog_FK1] FOREIGN KEY([CID])
1921REFERENCES [dbo].[Character] ([CID])
1922GO
1923ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Character_BringAccountItemLog_FK1]
1924GO
1925ALTER TABLE [dbo].[BringAccountItemLog] WITH NOCHECK ADD CONSTRAINT [Item_BringAccountItemLog_FK1] FOREIGN KEY([ItemID])
1926REFERENCES [dbo].[Item] ([ItemID])
1927GO
1928ALTER TABLE [dbo].[BringAccountItemLog] CHECK CONSTRAINT [Item_BringAccountItemLog_FK1]
1929GO
1930ALTER TABLE [dbo].[CashItemPresentLog] WITH NOCHECK ADD CONSTRAINT [Account_CashItemPresentLog_FK1] FOREIGN KEY([ReceiverAID])
1931REFERENCES [dbo].[Account] ([AID])
1932GO
1933ALTER TABLE [dbo].[CashItemPresentLog] CHECK CONSTRAINT [Account_CashItemPresentLog_FK1]
1934GO
1935ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [CashSetShop_CashSetItem_FK1] FOREIGN KEY([CSSID])
1936REFERENCES [dbo].[CashSetShop] ([CSSID])
1937GO
1938ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [CashSetShop_CashSetItem_FK1]
1939GO
1940ALTER TABLE [dbo].[CashSetItem] WITH NOCHECK ADD CONSTRAINT [Item_CashSetItem_FK1] FOREIGN KEY([CSID])
1941REFERENCES [dbo].[CashShop] ([CSID])
1942GO
1943ALTER TABLE [dbo].[CashSetItem] CHECK CONSTRAINT [Item_CashSetItem_FK1]
1944GO
1945ALTER TABLE [dbo].[CashShop] WITH NOCHECK ADD CONSTRAINT [Item_CashShop_FK1] FOREIGN KEY([ItemID])
1946REFERENCES [dbo].[Item] ([ItemID])
1947GO
1948ALTER TABLE [dbo].[CashShop] CHECK CONSTRAINT [Item_CashShop_FK1]
1949GO
1950ALTER TABLE [dbo].[Character] WITH NOCHECK ADD CONSTRAINT [Account_Character_FK1] FOREIGN KEY([AID])
1951REFERENCES [dbo].[Account] ([AID])
1952GO
1953ALTER TABLE [dbo].[Character] CHECK CONSTRAINT [Account_Character_FK1]
1954GO
1955ALTER TABLE [dbo].[CharacterItem] WITH NOCHECK ADD CONSTRAINT [Character_CharacterItem_FK1] FOREIGN KEY([CID])
1956REFERENCES [dbo].[Character] ([CID])
1957GO
1958ALTER TABLE [dbo].[CharacterItem] CHECK CONSTRAINT [Character_CharacterItem_FK1]
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([CharMgrTypeID])
1964REFERENCES [dbo].[CharacterMgrType] ([CharMgrTypeID])
1965GO
1966ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1967REFERENCES [dbo].[Character] ([CID])
1968GO
1969ALTER TABLE [dbo].[CharacterMgrLogByGM] WITH NOCHECK ADD FOREIGN KEY([CID])
1970REFERENCES [dbo].[Character] ([CID])
1971GO
1972ALTER TABLE [dbo].[Clan] WITH NOCHECK ADD CONSTRAINT [Clan_Character_FK1] FOREIGN KEY([MasterCID])
1973REFERENCES [dbo].[Character] ([CID])
1974GO
1975ALTER TABLE [dbo].[Clan] CHECK CONSTRAINT [Clan_Character_FK1]
1976GO
1977ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_LoserCLID_FK1] FOREIGN KEY([LoserCLID])
1978REFERENCES [dbo].[Clan] ([CLID])
1979GO
1980ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_LoserCLID_FK1]
1981GO
1982ALTER TABLE [dbo].[ClanGameLog] WITH NOCHECK ADD CONSTRAINT [ClanGameLog_WinnerCLID_FK1] FOREIGN KEY([WinnerCLID])
1983REFERENCES [dbo].[Clan] ([CLID])
1984GO
1985ALTER TABLE [dbo].[ClanGameLog] CHECK CONSTRAINT [ClanGameLog_WinnerCLID_FK1]
1986GO
1987ALTER TABLE [dbo].[ClanHonorRanking] WITH NOCHECK ADD CONSTRAINT [ClanHonorRanking_CLID_FK1] FOREIGN KEY([CLID])
1988REFERENCES [dbo].[Clan] ([CLID])
1989GO
1990ALTER TABLE [dbo].[ClanHonorRanking] CHECK CONSTRAINT [ClanHonorRanking_CLID_FK1]
1991GO
1992ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK1] FOREIGN KEY([CLID])
1993REFERENCES [dbo].[Clan] ([CLID])
1994GO
1995ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK1]
1996GO
1997ALTER TABLE [dbo].[ClanMember] WITH NOCHECK ADD CONSTRAINT [ClanMember_Clan_FK2] FOREIGN KEY([CID])
1998REFERENCES [dbo].[Character] ([CID])
1999GO
2000ALTER TABLE [dbo].[ClanMember] CHECK CONSTRAINT [ClanMember_Clan_FK2]
2001GO
2002ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK1] FOREIGN KEY([CID])
2003REFERENCES [dbo].[Character] ([CID])
2004GO
2005ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK1]
2006GO
2007ALTER TABLE [dbo].[Friend] WITH NOCHECK ADD CONSTRAINT [Character_Friend_FK2] FOREIGN KEY([FriendCID])
2008REFERENCES [dbo].[Character] ([CID])
2009GO
2010ALTER TABLE [dbo].[Friend] CHECK CONSTRAINT [Character_Friend_FK2]
2011GO
2012ALTER TABLE [dbo].[Item] WITH NOCHECK ADD CONSTRAINT [Effect_Item_FK1] FOREIGN KEY([EffectID])
2013REFERENCES [dbo].[Effect] ([ID])
2014GO
2015ALTER TABLE [dbo].[Item] CHECK CONSTRAINT [Effect_Item_FK1]
2016GO
2017ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_PurchaseLogByCash_FK1] FOREIGN KEY([AID])
2018REFERENCES [dbo].[Account] ([AID])
2019GO
2020ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Account_PurchaseLogByCash_FK1]
2021GO
2022ALTER TABLE [dbo].[ItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Item_PurchaseLogByCash_FK1] FOREIGN KEY([ItemID])
2023REFERENCES [dbo].[Item] ([ItemID])
2024GO
2025ALTER TABLE [dbo].[ItemPurchaseLogByCash] CHECK CONSTRAINT [Item_PurchaseLogByCash_FK1]
2026GO
2027ALTER TABLE [dbo].[RentCashSetShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSSID])
2028REFERENCES [dbo].[CashSetShop] ([CSSID])
2029ON UPDATE CASCADE
2030GO
2031ALTER TABLE [dbo].[RentCashShopPrice] WITH NOCHECK ADD FOREIGN KEY([CSID])
2032REFERENCES [dbo].[CashShop] ([CSID])
2033ON UPDATE CASCADE
2034GO
2035ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([AID])
2036REFERENCES [dbo].[Account] ([AID])
2037GO
2038ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [Account_SetItemPurchaseLogByCash_FK1]
2039GO
2040ALTER TABLE [dbo].[SetItemPurchaseLogByCash] WITH NOCHECK ADD CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1] FOREIGN KEY([CSSID])
2041REFERENCES [dbo].[CashSetShop] ([CSSID])
2042GO
2043ALTER TABLE [dbo].[SetItemPurchaseLogByCash] CHECK CONSTRAINT [CashSetShop_SetItemPurchaseLogByCash_FK1]
2044GO
2045/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2046SET ANSI_NULLS ON
2047GO
2048SET QUOTED_IDENTIFIER OFF
2049GO
2050
2051create proc [dbo].[dt_addtosourcecontrol]
2052 @vchSourceSafeINI varchar(255) = '',
2053 @vchProjectName varchar(255) ='',
2054 @vchComment varchar(255) ='',
2055 @vchLoginName varchar(255) ='',
2056 @vchPassword varchar(255) =''
2057
2058as
2059
2060set nocount on
2061
2062declare @iReturn int
2063declare @iObjectId int
2064select @iObjectId = 0
2065
2066declare @iStreamObjectId int
2067select @iStreamObjectId = 0
2068
2069declare @VSSGUID varchar(100)
2070select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2071
2072declare @vchDatabaseName varchar(255)
2073select @vchDatabaseName = db_name()
2074
2075declare @iReturnValue int
2076select @iReturnValue = 0
2077
2078declare @iPropertyObjectId int
2079declare @vchParentId varchar(255)
2080
2081declare @iObjectCount int
2082select @iObjectCount = 0
2083
2084 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2085 if @iReturn <> 0 GOTO E_OAError
2086
2087
2088 /* Create Project in SS */
2089 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2090 'AddProjectToSourceSafe',
2091 NULL,
2092 @vchSourceSafeINI,
2093 @vchProjectName output,
2094 @@SERVERNAME,
2095 @vchDatabaseName,
2096 @vchLoginName,
2097 @vchPassword,
2098 @vchComment
2099
2100
2101 if @iReturn <> 0 GOTO E_OAError
2102
2103 /* Set Database Properties */
2104
2105 begin tran SetProperties
2106
2107 /* add high level object */
2108
2109 exec @iPropertyObjectId = dbo.dt_adduserobject_vcs 'VCSProjectID'
2110
2111 select @vchParentId = CONVERT(varchar(255),@iPropertyObjectId)
2112
2113 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProjectID', @vchParentId , NULL
2114 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSProject' , @vchProjectName , NULL
2115 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSourceSafeINI' , @vchSourceSafeINI , NULL
2116 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLServer', @@SERVERNAME, NULL
2117 exec dbo.dt_setpropertybyid @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName, NULL
2118
2119 if @@error <> 0 GOTO E_General_Error
2120
2121 commit tran SetProperties
2122
2123 select @iObjectCount = 0;
2124
2125CleanUp:
2126 select @vchProjectName
2127 select @iObjectCount
2128 return
2129
2130E_General_Error:
2131 /* this is an all or nothing. No specific error messages */
2132 goto CleanUp
2133
2134E_OAError:
2135 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2136 goto CleanUp
2137
2138
2139
2140
2141
2142
2143GO
2144/****** Object: StoredProcedure [dbo].[dt_addtosourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
2145SET ANSI_NULLS ON
2146GO
2147SET QUOTED_IDENTIFIER OFF
2148GO
2149
2150create proc [dbo].[dt_addtosourcecontrol_u]
2151 @vchSourceSafeINI nvarchar(255) = '',
2152 @vchProjectName nvarchar(255) ='',
2153 @vchComment nvarchar(255) ='',
2154 @vchLoginName nvarchar(255) ='',
2155 @vchPassword nvarchar(255) =''
2156
2157as
2158 -- This procedure should no longer be called; dt_addtosourcecontrol should be called instead.
2159 -- Calls are forwarded to dt_addtosourcecontrol to maintain backward compatibility
2160 set nocount on
2161 exec dbo.dt_addtosourcecontrol
2162 @vchSourceSafeINI,
2163 @vchProjectName,
2164 @vchComment,
2165 @vchLoginName,
2166 @vchPassword
2167
2168
2169
2170
2171
2172
2173GO
2174/****** Object: StoredProcedure [dbo].[dt_adduserobject] Script Date: 28-05-2018 18:12:28 ******/
2175SET ANSI_NULLS ON
2176GO
2177SET QUOTED_IDENTIFIER OFF
2178GO
2179
2180/*
2181** Add an object to the dtproperties table
2182*/
2183create procedure [dbo].[dt_adduserobject]
2184as
2185 set nocount on
2186 /*
2187 ** Create the user object if it does not exist already
2188 */
2189 begin transaction
2190 insert dbo.dtproperties (property) VALUES ('DtgSchemaOBJECT')
2191 update dbo.dtproperties set objectid=@@identity
2192 where id=@@identity and property='DtgSchemaOBJECT'
2193 commit
2194 return @@identity
2195
2196
2197
2198
2199GO
2200/****** Object: StoredProcedure [dbo].[dt_adduserobject_vcs] Script Date: 28-05-2018 18:12:28 ******/
2201SET ANSI_NULLS ON
2202GO
2203SET QUOTED_IDENTIFIER OFF
2204GO
2205
2206create procedure [dbo].[dt_adduserobject_vcs]
2207 @vchProperty varchar(64)
2208
2209as
2210
2211set nocount on
2212
2213declare @iReturn int
2214 /*
2215 ** Create the user object if it does not exist already
2216 */
2217 begin transaction
2218 select @iReturn = objectid from dbo.dtproperties where property = @vchProperty
2219 if @iReturn IS NULL
2220 begin
2221 insert dbo.dtproperties (property) VALUES (@vchProperty)
2222 update dbo.dtproperties set objectid=@@identity
2223 where id=@@identity and property=@vchProperty
2224 select @iReturn = @@identity
2225 end
2226 commit
2227 return @iReturn
2228
2229
2230
2231
2232
2233
2234GO
2235/****** Object: StoredProcedure [dbo].[dt_checkinobject] Script Date: 28-05-2018 18:12:28 ******/
2236SET ANSI_NULLS ON
2237GO
2238SET QUOTED_IDENTIFIER OFF
2239GO
2240
2241create proc [dbo].[dt_checkinobject]
2242 @chObjectType char(4),
2243 @vchObjectName varchar(255),
2244 @vchComment varchar(255)='',
2245 @vchLoginName varchar(255),
2246 @vchPassword varchar(255)='',
2247 @iVCSFlags int = 0,
2248 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2249 @txStream1 Text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2250 @txStream2 Text = '', /* create stream */
2251 @txStream3 Text = '' /* grant stream */
2252
2253
2254as
2255
2256 set nocount on
2257
2258 declare @iReturn int
2259 declare @iObjectId int
2260 select @iObjectId = 0
2261 declare @iStreamObjectId int
2262
2263 declare @VSSGUID varchar(100)
2264 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2265
2266 declare @iPropertyObjectId int
2267 select @iPropertyObjectId = 0
2268
2269 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2270
2271 declare @vchProjectName varchar(255)
2272 declare @vchSourceSafeINI varchar(255)
2273 declare @vchServerName varchar(255)
2274 declare @vchDatabaseName varchar(255)
2275 declare @iReturnValue int
2276 declare @pos int
2277 declare @vchProcLinePiece varchar(255)
2278
2279
2280 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2281 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2282 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2283 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2284
2285 if @chObjectType = 'PROC'
2286 begin
2287 if @iActionFlag = 1
2288 begin
2289 /* Procedure Can have up to three streams
2290 Drop Stream, Create Stream, GRANT stream */
2291
2292 begin tran compile_all
2293
2294 /* try to compile the streams */
2295 exec (@txStream1)
2296 if @@error <> 0 GOTO E_Compile_Fail
2297
2298 exec (@txStream2)
2299 if @@error <> 0 GOTO E_Compile_Fail
2300
2301 exec (@txStream3)
2302 if @@error <> 0 GOTO E_Compile_Fail
2303 end
2304
2305 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2306 if @iReturn <> 0 GOTO E_OAError
2307
2308 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2309 if @iReturn <> 0 GOTO E_OAError
2310
2311 if @iActionFlag = 1
2312 begin
2313
2314 declare @iStreamLength int
2315
2316 select @pos=1
2317 select @iStreamLength = datalength(@txStream2)
2318
2319 if @iStreamLength > 0
2320 begin
2321
2322 while @pos < @iStreamLength
2323 begin
2324
2325 select @vchProcLinePiece = substring(@txStream2, @pos, 255)
2326
2327 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2328 if @iReturn <> 0 GOTO E_OAError
2329
2330 select @pos = @pos + 255
2331
2332 end
2333
2334 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2335 'CheckIn_StoredProcedure',
2336 NULL,
2337 @sProjectName = @vchProjectName,
2338 @sSourceSafeINI = @vchSourceSafeINI,
2339 @sServerName = @vchServerName,
2340 @sDatabaseName = @vchDatabaseName,
2341 @sObjectName = @vchObjectName,
2342 @sComment = @vchComment,
2343 @sLoginName = @vchLoginName,
2344 @sPassword = @vchPassword,
2345 @iVCSFlags = @iVCSFlags,
2346 @iActionFlag = @iActionFlag,
2347 @sStream = ''
2348
2349 end
2350 end
2351 else
2352 begin
2353
2354 select colid, text into #ProcLines
2355 from syscomments
2356 where id = object_id(@vchObjectName)
2357 order by colid
2358
2359 declare @iCurProcLine int
2360 declare @iProcLines int
2361 select @iCurProcLine = 1
2362 select @iProcLines = (select count(*) from #ProcLines)
2363 while @iCurProcLine <= @iProcLines
2364 begin
2365 select @pos = 1
2366 declare @iCurLineSize int
2367 select @iCurLineSize = len((select text from #ProcLines where colid = @iCurProcLine))
2368 while @pos <= @iCurLineSize
2369 begin
2370 select @vchProcLinePiece = convert(varchar(255),
2371 substring((select text from #ProcLines where colid = @iCurProcLine),
2372 @pos, 255 ))
2373 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'AddStream', @iReturnValue OUT, @vchProcLinePiece
2374 if @iReturn <> 0 GOTO E_OAError
2375 select @pos = @pos + 255
2376 end
2377 select @iCurProcLine = @iCurProcLine + 1
2378 end
2379 drop table #ProcLines
2380
2381 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2382 'CheckIn_StoredProcedure',
2383 NULL,
2384 @sProjectName = @vchProjectName,
2385 @sSourceSafeINI = @vchSourceSafeINI,
2386 @sServerName = @vchServerName,
2387 @sDatabaseName = @vchDatabaseName,
2388 @sObjectName = @vchObjectName,
2389 @sComment = @vchComment,
2390 @sLoginName = @vchLoginName,
2391 @sPassword = @vchPassword,
2392 @iVCSFlags = @iVCSFlags,
2393 @iActionFlag = @iActionFlag,
2394 @sStream = ''
2395 end
2396
2397 if @iReturn <> 0 GOTO E_OAError
2398
2399 if @iActionFlag = 1
2400 begin
2401 commit tran compile_all
2402 if @@error <> 0 GOTO E_Compile_Fail
2403 end
2404
2405 end
2406
2407CleanUp:
2408 return
2409
2410E_Compile_Fail:
2411 declare @lerror int
2412 select @lerror = @@error
2413 rollback tran compile_all
2414 RAISERROR (@lerror,16,-1)
2415 goto CleanUp
2416
2417E_OAError:
2418 if @iActionFlag = 1 rollback tran compile_all
2419 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2420 goto CleanUp
2421
2422
2423
2424
2425
2426
2427GO
2428/****** Object: StoredProcedure [dbo].[dt_checkinobject_u] Script Date: 28-05-2018 18:12:28 ******/
2429SET ANSI_NULLS ON
2430GO
2431SET QUOTED_IDENTIFIER OFF
2432GO
2433
2434create proc [dbo].[dt_checkinobject_u]
2435 @chObjectType char(4),
2436 @vchObjectName nvarchar(255),
2437 @vchComment nvarchar(255)='',
2438 @vchLoginName nvarchar(255),
2439 @vchPassword nvarchar(255)='',
2440 @iVCSFlags int = 0,
2441 @iActionFlag int = 0, /* 0 => AddFile, 1 => CheckIn */
2442 @txStream1 text = '', /* drop stream */ /* There is a bug that if items are NULL they do not pass to OLE servers */
2443 @txStream2 text = '', /* create stream */
2444 @txStream3 text = '' /* grant stream */
2445
2446as
2447 -- This procedure should no longer be called; dt_checkinobject should be called instead.
2448 -- Calls are forwarded to dt_checkinobject to maintain backward compatibility.
2449 set nocount on
2450 exec dbo.dt_checkinobject
2451 @chObjectType,
2452 @vchObjectName,
2453 @vchComment,
2454 @vchLoginName,
2455 @vchPassword,
2456 @iVCSFlags,
2457 @iActionFlag,
2458 @txStream1,
2459 @txStream2,
2460 @txStream3
2461
2462
2463
2464
2465
2466
2467GO
2468/****** Object: StoredProcedure [dbo].[dt_checkoutobject] Script Date: 28-05-2018 18:12:28 ******/
2469SET ANSI_NULLS ON
2470GO
2471SET QUOTED_IDENTIFIER OFF
2472GO
2473
2474create proc [dbo].[dt_checkoutobject]
2475 @chObjectType char(4),
2476 @vchObjectName varchar(255),
2477 @vchComment varchar(255),
2478 @vchLoginName varchar(255),
2479 @vchPassword varchar(255),
2480 @iVCSFlags int = 0,
2481 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2482
2483as
2484
2485 set nocount on
2486
2487 declare @iReturn int
2488 declare @iObjectId int
2489 select @iObjectId =0
2490
2491 declare @VSSGUID varchar(100)
2492 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2493
2494 declare @iReturnValue int
2495 select @iReturnValue = 0
2496
2497 declare @vchTempText varchar(255)
2498
2499 /* this is for our strings */
2500 declare @iStreamObjectId int
2501 select @iStreamObjectId = 0
2502
2503 declare @iPropertyObjectId int
2504 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2505
2506 declare @vchProjectName varchar(255)
2507 declare @vchSourceSafeINI varchar(255)
2508 declare @vchServerName varchar(255)
2509 declare @vchDatabaseName varchar(255)
2510 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2511 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2512 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2513 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2514
2515 if @chObjectType = 'PROC'
2516 begin
2517 /* Procedure Can have up to three streams
2518 Drop Stream, Create Stream, GRANT stream */
2519
2520 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2521
2522 if @iReturn <> 0 GOTO E_OAError
2523
2524 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2525 'CheckOut_StoredProcedure',
2526 NULL,
2527 @sProjectName = @vchProjectName,
2528 @sSourceSafeINI = @vchSourceSafeINI,
2529 @sObjectName = @vchObjectName,
2530 @sServerName = @vchServerName,
2531 @sDatabaseName = @vchDatabaseName,
2532 @sComment = @vchComment,
2533 @sLoginName = @vchLoginName,
2534 @sPassword = @vchPassword,
2535 @iVCSFlags = @iVCSFlags,
2536 @iActionFlag = @iActionFlag
2537
2538 if @iReturn <> 0 GOTO E_OAError
2539
2540
2541 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
2542
2543 if @iReturn <> 0 GOTO E_OAError
2544
2545 create table #commenttext (id int identity, sourcecode varchar(255))
2546
2547
2548 select @vchTempText = 'STUB'
2549 while @vchTempText is not null
2550 begin
2551 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
2552 if @iReturn <> 0 GOTO E_OAError
2553
2554 if (@vchTempText = '') set @vchTempText = null
2555 if (@vchTempText is not null) insert into #commenttext (sourcecode) select @vchTempText
2556 end
2557
2558 select 'VCS'=sourcecode from #commenttext order by id
2559 select 'SQL'=text from syscomments where id = object_id(@vchObjectName) order by colid
2560
2561 end
2562
2563CleanUp:
2564 return
2565
2566E_OAError:
2567 exec dbo.dt_displayoaerror @iObjectId, @iReturn
2568 GOTO CleanUp
2569
2570
2571
2572
2573
2574
2575GO
2576/****** Object: StoredProcedure [dbo].[dt_checkoutobject_u] Script Date: 28-05-2018 18:12:28 ******/
2577SET ANSI_NULLS ON
2578GO
2579SET QUOTED_IDENTIFIER OFF
2580GO
2581
2582create proc [dbo].[dt_checkoutobject_u]
2583 @chObjectType char(4),
2584 @vchObjectName nvarchar(255),
2585 @vchComment nvarchar(255),
2586 @vchLoginName nvarchar(255),
2587 @vchPassword nvarchar(255),
2588 @iVCSFlags int = 0,
2589 @iActionFlag int = 0/* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */
2590
2591as
2592
2593 -- This procedure should no longer be called; dt_checkoutobject should be called instead.
2594 -- Calls are forwarded to dt_checkoutobject to maintain backward compatibility.
2595 set nocount on
2596 exec dbo.dt_checkoutobject
2597 @chObjectType,
2598 @vchObjectName,
2599 @vchComment,
2600 @vchLoginName,
2601 @vchPassword,
2602 @iVCSFlags,
2603 @iActionFlag
2604
2605
2606
2607
2608
2609
2610GO
2611/****** Object: StoredProcedure [dbo].[dt_displayoaerror] Script Date: 28-05-2018 18:12:28 ******/
2612SET ANSI_NULLS ON
2613GO
2614SET QUOTED_IDENTIFIER OFF
2615GO
2616
2617CREATE PROCEDURE [dbo].[dt_displayoaerror]
2618 @iObject int,
2619 @iresult int
2620as
2621
2622set nocount on
2623
2624declare @vchOutput varchar(255)
2625declare @hr int
2626declare @vchSource varchar(255)
2627declare @vchDescription varchar(255)
2628
2629 exec @hr = master.dbo.sp_OAGetErrorInfo @iObject, @vchSource OUT, @vchDescription OUT
2630
2631 select @vchOutput = @vchSource + ': ' + @vchDescription
2632 raiserror (@vchOutput,16,-1)
2633
2634 return
2635
2636
2637
2638
2639
2640GO
2641/****** Object: StoredProcedure [dbo].[dt_displayoaerror_u] Script Date: 28-05-2018 18:12:28 ******/
2642SET ANSI_NULLS ON
2643GO
2644SET QUOTED_IDENTIFIER OFF
2645GO
2646
2647CREATE PROCEDURE [dbo].[dt_displayoaerror_u]
2648 @iObject int,
2649 @iresult int
2650as
2651 -- This procedure should no longer be called; dt_displayoaerror should be called instead.
2652 -- Calls are forwarded to dt_displayoaerror to maintain backward compatibility.
2653 set nocount on
2654 exec dbo.dt_displayoaerror
2655 @iObject,
2656 @iresult
2657
2658
2659
2660
2661
2662
2663GO
2664/****** Object: StoredProcedure [dbo].[dt_droppropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2665SET ANSI_NULLS ON
2666GO
2667SET QUOTED_IDENTIFIER OFF
2668GO
2669
2670/*
2671** Drop one or all the associated properties of an object or an attribute
2672**
2673** dt_dropproperties objid, null or '' -- drop all properties of the object itself
2674** dt_dropproperties objid, property -- drop the property
2675*/
2676create procedure [dbo].[dt_droppropertiesbyid]
2677 @id int,
2678 @property varchar(64)
2679as
2680 set nocount on
2681
2682 if (@property is null) or (@property = '')
2683 delete from dbo.dtproperties where objectid=@id
2684 else
2685 delete from dbo.dtproperties
2686 where objectid=@id and property=@property
2687
2688
2689
2690
2691
2692GO
2693/****** Object: StoredProcedure [dbo].[dt_dropuserobjectbyid] Script Date: 28-05-2018 18:12:28 ******/
2694SET ANSI_NULLS ON
2695GO
2696SET QUOTED_IDENTIFIER OFF
2697GO
2698
2699/*
2700** Drop an object from the dbo.dtproperties table
2701*/
2702create procedure [dbo].[dt_dropuserobjectbyid]
2703 @id int
2704as
2705 set nocount on
2706 delete from dbo.dtproperties where objectid=@id
2707
2708
2709
2710
2711GO
2712/****** Object: StoredProcedure [dbo].[dt_generateansiname] Script Date: 28-05-2018 18:12:28 ******/
2713SET ANSI_NULLS ON
2714GO
2715SET QUOTED_IDENTIFIER OFF
2716GO
2717
2718/*
2719** Generate an ansi name that is unique in the dtproperties.value column
2720*/
2721create procedure [dbo].[dt_generateansiname](@name varchar(255) output)
2722as
2723 declare @prologue varchar(20)
2724 declare @indexstring varchar(20)
2725 declare @index integer
2726
2727 set @prologue = 'MSDT-A-'
2728 set @index = 1
2729
2730 while 1 = 1
2731 begin
2732 set @indexstring = cast(@index as varchar(20))
2733 set @name = @prologue + @indexstring
2734 if not exists (select value from dtproperties where value = @name)
2735 break
2736
2737 set @index = @index + 1
2738
2739 if (@index = 10000)
2740 goto TooMany
2741 end
2742
2743Leave:
2744
2745 return
2746
2747TooMany:
2748
2749 set @name = 'DIAGRAM'
2750 goto Leave
2751
2752
2753
2754
2755GO
2756/****** Object: StoredProcedure [dbo].[dt_getobjwithprop] Script Date: 28-05-2018 18:12:28 ******/
2757SET ANSI_NULLS ON
2758GO
2759SET QUOTED_IDENTIFIER OFF
2760GO
2761
2762/*
2763** Retrieve the owner object(s) of a given property
2764*/
2765create procedure [dbo].[dt_getobjwithprop]
2766 @property varchar(30),
2767 @value varchar(255)
2768as
2769 set nocount on
2770
2771 if (@property is null) or (@property = '')
2772 begin
2773 raiserror('Must specify a property name.',-1,-1)
2774 return (1)
2775 end
2776
2777 if (@value is null)
2778 select objectid id from dbo.dtproperties
2779 where property=@property
2780
2781 else
2782 select objectid id from dbo.dtproperties
2783 where property=@property and value=@value
2784
2785
2786
2787
2788GO
2789/****** Object: StoredProcedure [dbo].[dt_getobjwithprop_u] Script Date: 28-05-2018 18:12:28 ******/
2790SET ANSI_NULLS ON
2791GO
2792SET QUOTED_IDENTIFIER OFF
2793GO
2794
2795/*
2796** Retrieve the owner object(s) of a given property
2797*/
2798create procedure [dbo].[dt_getobjwithprop_u]
2799 @property varchar(30),
2800 @uvalue nvarchar(255)
2801as
2802 set nocount on
2803
2804 if (@property is null) or (@property = '')
2805 begin
2806 raiserror('Must specify a property name.',-1,-1)
2807 return (1)
2808 end
2809
2810 if (@uvalue is null)
2811 select objectid id from dbo.dtproperties
2812 where property=@property
2813
2814 else
2815 select objectid id from dbo.dtproperties
2816 where property=@property and uvalue=@uvalue
2817
2818
2819
2820
2821GO
2822/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid] Script Date: 28-05-2018 18:12:28 ******/
2823SET ANSI_NULLS ON
2824GO
2825SET QUOTED_IDENTIFIER OFF
2826GO
2827
2828/*
2829** Retrieve properties by id's
2830**
2831** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2832** dt_getproperties objid, property -- retrieve the property specified
2833*/
2834create procedure [dbo].[dt_getpropertiesbyid]
2835 @id int,
2836 @property varchar(64)
2837as
2838 set nocount on
2839
2840 if (@property is null) or (@property = '')
2841 select property, version, value, lvalue
2842 from dbo.dtproperties
2843 where @id=objectid
2844 else
2845 select property, version, value, lvalue
2846 from dbo.dtproperties
2847 where @id=objectid and @property=property
2848
2849
2850
2851
2852GO
2853/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_u] Script Date: 28-05-2018 18:12:28 ******/
2854SET ANSI_NULLS ON
2855GO
2856SET QUOTED_IDENTIFIER OFF
2857GO
2858
2859/*
2860** Retrieve properties by id's
2861**
2862** dt_getproperties objid, null or '' -- retrieve all properties of the object itself
2863** dt_getproperties objid, property -- retrieve the property specified
2864*/
2865create procedure [dbo].[dt_getpropertiesbyid_u]
2866 @id int,
2867 @property varchar(64)
2868as
2869 set nocount on
2870
2871 if (@property is null) or (@property = '')
2872 select property, version, uvalue, lvalue
2873 from dbo.dtproperties
2874 where @id=objectid
2875 else
2876 select property, version, uvalue, lvalue
2877 from dbo.dtproperties
2878 where @id=objectid and @property=property
2879
2880
2881
2882
2883GO
2884/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs] Script Date: 28-05-2018 18:12:28 ******/
2885SET ANSI_NULLS ON
2886GO
2887SET QUOTED_IDENTIFIER OFF
2888GO
2889
2890create procedure [dbo].[dt_getpropertiesbyid_vcs]
2891 @id int,
2892 @property varchar(64),
2893 @value varchar(255) = NULL OUT
2894
2895as
2896
2897 set nocount on
2898
2899 select @value = (
2900 select value
2901 from dbo.dtproperties
2902 where @id=objectid and @property=property
2903 )
2904
2905
2906
2907
2908
2909GO
2910/****** Object: StoredProcedure [dbo].[dt_getpropertiesbyid_vcs_u] Script Date: 28-05-2018 18:12:28 ******/
2911SET ANSI_NULLS ON
2912GO
2913SET QUOTED_IDENTIFIER OFF
2914GO
2915
2916create procedure [dbo].[dt_getpropertiesbyid_vcs_u]
2917 @id int,
2918 @property varchar(64),
2919 @value nvarchar(255) = NULL OUT
2920
2921as
2922
2923 -- This procedure should no longer be called; dt_getpropertiesbyid_vcsshould be called instead.
2924 -- Calls are forwarded to dt_getpropertiesbyid_vcs to maintain backward compatibility.
2925 set nocount on
2926 exec dbo.dt_getpropertiesbyid_vcs
2927 @id,
2928 @property,
2929 @value output
2930
2931
2932
2933
2934
2935GO
2936/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
2937SET ANSI_NULLS ON
2938GO
2939SET QUOTED_IDENTIFIER OFF
2940GO
2941
2942create proc [dbo].[dt_isundersourcecontrol]
2943 @vchLoginName varchar(255) = '',
2944 @vchPassword varchar(255) = '',
2945 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
2946
2947as
2948
2949 set nocount on
2950
2951 declare @iReturn int
2952 declare @iObjectId int
2953 select @iObjectId = 0
2954
2955 declare @VSSGUID varchar(100)
2956 select @VSSGUID = 'SQLVersionControl.VCS_SQL'
2957
2958 declare @iReturnValue int
2959 select @iReturnValue = 0
2960
2961 declare @iStreamObjectId int
2962 select @iStreamObjectId = 0
2963
2964 declare @vchTempText varchar(255)
2965
2966 declare @iPropertyObjectId int
2967 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
2968
2969 declare @vchProjectName varchar(255)
2970 declare @vchSourceSafeINI varchar(255)
2971 declare @vchServerName varchar(255)
2972 declare @vchDatabaseName varchar(255)
2973 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
2974 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
2975 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
2976 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
2977
2978 if (@vchProjectName = '') set @vchProjectName = null
2979 if (@vchSourceSafeINI = '') set @vchSourceSafeINI = null
2980 if (@vchServerName = '') set @vchServerName = null
2981 if (@vchDatabaseName = '') set @vchDatabaseName = null
2982
2983 if (@vchProjectName is null) or (@vchSourceSafeINI is null) or (@vchServerName is null) or (@vchDatabaseName is null)
2984 begin
2985 RAISERROR('Not Under Source Control',16,-1)
2986 return
2987 end
2988
2989 if @iWhoToo = 1
2990 begin
2991
2992 /* Get List of Procs in the project */
2993 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
2994 if @iReturn <> 0 GOTO E_OAError
2995
2996 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
2997 'GetListOfObjects',
2998 NULL,
2999 @vchProjectName,
3000 @vchSourceSafeINI,
3001 @vchServerName,
3002 @vchDatabaseName,
3003 @vchLoginName,
3004 @vchPassword
3005
3006 if @iReturn <> 0 GOTO E_OAError
3007
3008 exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT
3009
3010 if @iReturn <> 0 GOTO E_OAError
3011
3012 create table #ObjectList (id int identity, vchObjectlist varchar(255))
3013
3014 select @vchTempText = 'STUB'
3015 while @vchTempText is not null
3016 begin
3017 exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT
3018 if @iReturn <> 0 GOTO E_OAError
3019
3020 if (@vchTempText = '') set @vchTempText = null
3021 if (@vchTempText is not null) insert into #ObjectList (vchObjectlist ) select @vchTempText
3022 end
3023
3024 select vchObjectlist from #ObjectList order by id
3025 end
3026
3027CleanUp:
3028 return
3029
3030E_OAError:
3031 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3032 goto CleanUp
3033
3034
3035
3036
3037
3038
3039GO
3040/****** Object: StoredProcedure [dbo].[dt_isundersourcecontrol_u] Script Date: 28-05-2018 18:12:28 ******/
3041SET ANSI_NULLS ON
3042GO
3043SET QUOTED_IDENTIFIER OFF
3044GO
3045
3046create proc [dbo].[dt_isundersourcecontrol_u]
3047 @vchLoginName nvarchar(255) = '',
3048 @vchPassword nvarchar(255) = '',
3049 @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */
3050
3051as
3052 -- This procedure should no longer be called; dt_isundersourcecontrol should be called instead.
3053 -- Calls are forwarded to dt_isundersourcecontrol to maintain backward compatibility.
3054 set nocount on
3055 exec dbo.dt_isundersourcecontrol
3056 @vchLoginName,
3057 @vchPassword,
3058 @iWhoToo
3059
3060
3061
3062
3063
3064
3065GO
3066/****** Object: StoredProcedure [dbo].[dt_removefromsourcecontrol] Script Date: 28-05-2018 18:12:28 ******/
3067SET ANSI_NULLS ON
3068GO
3069SET QUOTED_IDENTIFIER OFF
3070GO
3071
3072create procedure [dbo].[dt_removefromsourcecontrol]
3073
3074as
3075
3076 set nocount on
3077
3078 declare @iPropertyObjectId int
3079 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3080
3081 exec dbo.dt_droppropertiesbyid @iPropertyObjectId, null
3082
3083 /* -1 is returned by dt_droppopertiesbyid */
3084 if @@error <> 0 and @@error <> -1 return 1
3085
3086 return 0
3087
3088
3089
3090
3091
3092
3093GO
3094/****** Object: StoredProcedure [dbo].[dt_setpropertybyid] Script Date: 28-05-2018 18:12:28 ******/
3095SET ANSI_NULLS ON
3096GO
3097SET QUOTED_IDENTIFIER OFF
3098GO
3099
3100/*
3101** If the property already exists, reset the value; otherwise add property
3102** id -- the id in sysobjects of the object
3103** property -- the name of the property
3104** value -- the text value of the property
3105** lvalue -- the binary value of the property (image)
3106*/
3107create procedure [dbo].[dt_setpropertybyid]
3108 @id int,
3109 @property varchar(64),
3110 @value varchar(255),
3111 @lvalue image
3112as
3113 set nocount on
3114 declare @uvalue nvarchar(255)
3115 set @uvalue = convert(nvarchar(255), @value)
3116 if exists (select * from dbo.dtproperties
3117 where objectid=@id and property=@property)
3118 begin
3119 --
3120 -- bump the version count for this row as we update it
3121 --
3122 update dbo.dtproperties set value=@value, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3123 where objectid=@id and property=@property
3124 end
3125 else
3126 begin
3127 --
3128 -- version count is auto-set to 0 on initial insert
3129 --
3130 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3131 values (@property, @id, @value, @uvalue, @lvalue)
3132 end
3133
3134
3135
3136
3137
3138GO
3139/****** Object: StoredProcedure [dbo].[dt_setpropertybyid_u] Script Date: 28-05-2018 18:12:28 ******/
3140SET ANSI_NULLS ON
3141GO
3142SET QUOTED_IDENTIFIER OFF
3143GO
3144
3145/*
3146** If the property already exists, reset the value; otherwise add property
3147** id -- the id in sysobjects of the object
3148** property -- the name of the property
3149** uvalue -- the text value of the property
3150** lvalue -- the binary value of the property (image)
3151*/
3152create procedure [dbo].[dt_setpropertybyid_u]
3153 @id int,
3154 @property varchar(64),
3155 @uvalue nvarchar(255),
3156 @lvalue image
3157as
3158 set nocount on
3159 --
3160 -- If we are writing the name property, find the ansi equivalent.
3161 -- If there is no lossless translation, generate an ansi name.
3162 --
3163 declare @avalue varchar(255)
3164 set @avalue = null
3165 if (@uvalue is not null)
3166 begin
3167 if (convert(nvarchar(255), convert(varchar(255), @uvalue)) = @uvalue)
3168 begin
3169 set @avalue = convert(varchar(255), @uvalue)
3170 end
3171 else
3172 begin
3173 if 'DtgSchemaNAME' = @property
3174 begin
3175 exec dbo.dt_generateansiname @avalue output
3176 end
3177 end
3178 end
3179 if exists (select * from dbo.dtproperties
3180 where objectid=@id and property=@property)
3181 begin
3182 --
3183 -- bump the version count for this row as we update it
3184 --
3185 update dbo.dtproperties set value=@avalue, uvalue=@uvalue, lvalue=@lvalue, version=version+1
3186 where objectid=@id and property=@property
3187 end
3188 else
3189 begin
3190 --
3191 -- version count is auto-set to 0 on initial insert
3192 --
3193 insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
3194 values (@property, @id, @avalue, @uvalue, @lvalue)
3195 end
3196
3197
3198
3199
3200GO
3201/****** Object: StoredProcedure [dbo].[dt_validateloginparams] Script Date: 28-05-2018 18:12:28 ******/
3202SET ANSI_NULLS ON
3203GO
3204SET QUOTED_IDENTIFIER OFF
3205GO
3206
3207create proc [dbo].[dt_validateloginparams]
3208 @vchLoginName varchar(255),
3209 @vchPassword varchar(255)
3210as
3211
3212set nocount on
3213
3214declare @iReturn int
3215declare @iObjectId int
3216select @iObjectId =0
3217
3218declare @VSSGUID varchar(100)
3219select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3220
3221 declare @iPropertyObjectId int
3222 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3223
3224 declare @vchSourceSafeINI varchar(255)
3225 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3226
3227 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3228 if @iReturn <> 0 GOTO E_OAError
3229
3230 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3231 'ValidateLoginParams',
3232 NULL,
3233 @sSourceSafeINI = @vchSourceSafeINI,
3234 @sLoginName = @vchLoginName,
3235 @sPassword = @vchPassword
3236 if @iReturn <> 0 GOTO E_OAError
3237
3238CleanUp:
3239 return
3240
3241E_OAError:
3242 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3243 GOTO CleanUp
3244
3245
3246
3247
3248
3249
3250GO
3251/****** Object: StoredProcedure [dbo].[dt_validateloginparams_u] Script Date: 28-05-2018 18:12:28 ******/
3252SET ANSI_NULLS ON
3253GO
3254SET QUOTED_IDENTIFIER OFF
3255GO
3256
3257create proc [dbo].[dt_validateloginparams_u]
3258 @vchLoginName nvarchar(255),
3259 @vchPassword nvarchar(255)
3260as
3261
3262 -- This procedure should no longer be called; dt_validateloginparams should be called instead.
3263 -- Calls are forwarded to dt_validateloginparams to maintain backward compatibility.
3264 set nocount on
3265 exec dbo.dt_validateloginparams
3266 @vchLoginName,
3267 @vchPassword
3268
3269
3270
3271
3272
3273
3274GO
3275/****** Object: StoredProcedure [dbo].[dt_vcsenabled] Script Date: 28-05-2018 18:12:28 ******/
3276SET ANSI_NULLS ON
3277GO
3278SET QUOTED_IDENTIFIER OFF
3279GO
3280
3281create proc [dbo].[dt_vcsenabled]
3282
3283as
3284
3285set nocount on
3286
3287declare @iObjectId int
3288select @iObjectId = 0
3289
3290declare @VSSGUID varchar(100)
3291select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3292
3293 declare @iReturn int
3294 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3295 if @iReturn <> 0 raiserror('', 16, -1) /* Can't Load Helper DLLC */
3296
3297
3298
3299
3300
3301
3302GO
3303/****** Object: StoredProcedure [dbo].[dt_verstamp006] Script Date: 28-05-2018 18:12:28 ******/
3304SET ANSI_NULLS ON
3305GO
3306SET QUOTED_IDENTIFIER OFF
3307GO
3308
3309/*
3310** This procedure returns the version number of the stored
3311** procedures used by legacy versions of the Microsoft
3312** Visual Database Tools. Version is 7.0.00.
3313*/
3314create procedure [dbo].[dt_verstamp006]
3315as
3316 select 7000
3317
3318
3319
3320
3321GO
3322/****** Object: StoredProcedure [dbo].[dt_verstamp007] Script Date: 28-05-2018 18:12:28 ******/
3323SET ANSI_NULLS ON
3324GO
3325SET QUOTED_IDENTIFIER OFF
3326GO
3327
3328/*
3329** This procedure returns the version number of the stored
3330** procedures used by the the Microsoft Visual Database Tools.
3331** Version is 7.0.05.
3332*/
3333create procedure [dbo].[dt_verstamp007]
3334as
3335 select 7005
3336
3337
3338
3339
3340GO
3341/****** Object: StoredProcedure [dbo].[dt_whocheckedout] Script Date: 28-05-2018 18:12:28 ******/
3342SET ANSI_NULLS ON
3343GO
3344SET QUOTED_IDENTIFIER OFF
3345GO
3346
3347create proc [dbo].[dt_whocheckedout]
3348 @chObjectType char(4),
3349 @vchObjectName varchar(255),
3350 @vchLoginName varchar(255),
3351 @vchPassword varchar(255)
3352
3353as
3354
3355set nocount on
3356
3357declare @iReturn int
3358declare @iObjectId int
3359select @iObjectId =0
3360
3361declare @VSSGUID varchar(100)
3362select @VSSGUID = 'SQLVersionControl.VCS_SQL'
3363
3364 declare @iPropertyObjectId int
3365
3366 select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID')
3367
3368 declare @vchProjectName varchar(255)
3369 declare @vchSourceSafeINI varchar(255)
3370 declare @vchServerName varchar(255)
3371 declare @vchDatabaseName varchar(255)
3372 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT
3373 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT
3374 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT
3375 exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT
3376
3377 if @chObjectType = 'PROC'
3378 begin
3379 exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT
3380
3381 if @iReturn <> 0 GOTO E_OAError
3382
3383 declare @vchReturnValue varchar(255)
3384 select @vchReturnValue = ''
3385
3386 exec @iReturn = master.dbo.sp_OAMethod @iObjectId,
3387 'WhoCheckedOut',
3388 @vchReturnValue OUT,
3389 @sProjectName = @vchProjectName,
3390 @sSourceSafeINI = @vchSourceSafeINI,
3391 @sObjectName = @vchObjectName,
3392 @sServerName = @vchServerName,
3393 @sDatabaseName = @vchDatabaseName,
3394 @sLoginName = @vchLoginName,
3395 @sPassword = @vchPassword
3396
3397 if @iReturn <> 0 GOTO E_OAError
3398
3399 select @vchReturnValue
3400
3401 end
3402
3403CleanUp:
3404 return
3405
3406E_OAError:
3407 exec dbo.dt_displayoaerror @iObjectId, @iReturn
3408 GOTO CleanUp
3409
3410
3411
3412
3413
3414
3415GO
3416/****** Object: StoredProcedure [dbo].[dt_whocheckedout_u] Script Date: 28-05-2018 18:12:28 ******/
3417SET ANSI_NULLS ON
3418GO
3419SET QUOTED_IDENTIFIER OFF
3420GO
3421
3422create proc [dbo].[dt_whocheckedout_u]
3423 @chObjectType char(4),
3424 @vchObjectName nvarchar(255),
3425 @vchLoginName nvarchar(255),
3426 @vchPassword nvarchar(255)
3427
3428as
3429
3430 -- This procedure should no longer be called; dt_whocheckedout should be called instead.
3431 -- Calls are forwarded to dt_whocheckedout to maintain backward compatibility.
3432 set nocount on
3433 exec dbo.dt_whocheckedout
3434 @chObjectType,
3435 @vchObjectName,
3436 @vchLoginName,
3437 @vchPassword
3438
3439
3440
3441
3442
3443
3444GO
3445/****** Object: StoredProcedure [dbo].[LUG_checkAccountByEmail] Script Date: 28-05-2018 18:12:28 ******/
3446SET ANSI_NULLS ON
3447GO
3448SET QUOTED_IDENTIFIER ON
3449GO
3450
3451CREATE Procedure [dbo].[LUG_checkAccountByEmail]
3452
3453 (
3454 @UserID VARCHAR(24),
3455 @email VARCHAR(50),
3456 @result BIT OUTPUT
3457 )
3458
3459
3460AS
3461
3462-- LEVEUP UP BRAZIL - Please, do not modify this procedure!
3463-- Return 0 = Not Exist
3464-- Return 1 = Exist
3465
3466SET NOCOUNT ON
3467
3468-- Check if user exists
3469IF EXISTS (SELECT 1 FROM game.account WHERE UserID = @UserID AND email = @email)
3470 SET @result = 1
3471ELSE
3472 SET @result = 0
3473
3474
3475
3476GO
3477/****** Object: StoredProcedure [dbo].[LUG_ChkLogon] Script Date: 28-05-2018 18:12:28 ******/
3478SET ANSI_NULLS ON
3479GO
3480SET QUOTED_IDENTIFIER ON
3481GO
3482
3483
3484
3485CREATE PROC [dbo].[LUG_ChkLogon]
3486(
3487 @userId NVARCHAR(24),
3488 @passwd NVARCHAR(24),
3489 @result BIT OUTPUT
3490)
3491AS
3492BEGIN
3493 IF EXISTS (SELECT 1 FROM game.login (NOLOCK) WHERE [userId] = @userId AND password = @passwd)
3494 SET @result = 1
3495 ELSE
3496 SET @result = 0
3497END
3498
3499
3500
3501
3502
3503
3504GO
3505/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountData] Script Date: 28-05-2018 18:12:28 ******/
3506SET ANSI_NULLS ON
3507GO
3508SET QUOTED_IDENTIFIER ON
3509GO
3510
3511
3512CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountData]
3513(
3514 @gameUserId VARCHAR(24),
3515 @userNameAcc VARCHAR(50),
3516 @email VARCHAR(50),
3517 @birthday DATETIME,
3518 @sex BIT,
3519 @zipcode VARCHAR(10),
3520 @address VARCHAR(250),
3521 @country VARCHAR(3),
3522 @city VARCHAR(50),
3523 @state VARCHAR(2),
3524 @connecType INT,
3525 @phone VARCHAR(13),
3526 @speed INT,
3527 @msgLU BIT
3528)
3529AS
3530
3531SET XACT_ABORT ON
3532
3533BEGIN TRAN
3534
3535 --Realizando UPDATE na base RA
3536 UPDATE
3537 game.Account
3538 SET
3539 name = @userNameAcc,
3540 email = @email,
3541 age = SUBSTRING(CONVERT(VARCHAR, @birthday,103), 7, 4),
3542 sex = @sex,
3543 zipcode = @zipcode,
3544 address = @address,
3545 country = @country
3546 WHERE
3547 userid = @gameUserId
3548
3549 IF @@ERROR <> 0
3550 BEGIN
3551 ROLLBACK TRAN
3552 RETURN
3553 END
3554
3555 --Realizando UPDATE na base RA
3556 UPDATE
3557 personal
3558 SET
3559 birthday = convert(smalldatetime, @birthday, 112),
3560 city = @city,
3561 state = @state,
3562 connecType = @connecType,
3563 phone = @phone,
3564 speed = @speed,
3565 msgLU = @msgLU
3566 FROM
3567 game.personalInfoGunz personal
3568 INNER JOIN game.Account acc ON personal.AID = acc.AID
3569 WHERE
3570 acc.userid = @gameUserId
3571
3572 IF @@ERROR <> 0
3573 BEGIN
3574 ROLLBACK TRAN
3575 RETURN
3576 END
3577
3578COMMIT TRAN
3579
3580
3581
3582
3583
3584GO
3585/****** Object: StoredProcedure [dbo].[LUG_UpdateTheDuelAccountEmail] Script Date: 28-05-2018 18:12:28 ******/
3586SET ANSI_NULLS OFF
3587GO
3588SET QUOTED_IDENTIFIER OFF
3589GO
3590
3591
3592CREATE Procedure [dbo].[LUG_UpdateTheDuelAccountEmail]
3593(
3594 @gameUserId VARCHAR(24),
3595 @email VARCHAR(50)
3596)
3597AS
3598
3599SET XACT_ABORT ON
3600
3601BEGIN TRAN
3602
3603 --Realizando UPDATE na base RA
3604 UPDATE
3605 game.Account
3606 SET
3607 email = @email
3608 WHERE
3609 aid = @gameUserId
3610
3611 IF @@ERROR <> 0
3612 BEGIN
3613 ROLLBACK TRAN
3614 RETURN
3615 END
3616
3617
3618COMMIT TRAN
3619
3620
3621
3622GO
3623/****** Object: StoredProcedure [dbo].[LUG_ValidateForumUserTD] Script Date: 28-05-2018 18:12:28 ******/
3624SET ANSI_NULLS ON
3625GO
3626SET QUOTED_IDENTIFIER ON
3627GO
3628
3629
3630CREATE PROC [dbo].[LUG_ValidateForumUserTD]
3631@userId VARCHAR(24),
3632@passwd VARCHAR(24)
3633AS
3634
3635SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
3636SET NOCOUNT ON
3637
3638DECLARE @email VARCHAR(200)
3639
3640SELECT @email = b.email
3641FROM game.login a
3642 INNER JOIN game.account b
3643 ON a.AID = b.AID
3644WHERE a.userid = @userId
3645AND a.[password] COLLATE Latin1_General_CS_AI = @passwd
3646
3647SELECT @email AS email
3648
3649
3650
3651
3652
3653
3654GO
3655/****** Object: StoredProcedure [dbo].[spAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3656SET ANSI_NULLS ON
3657GO
3658SET QUOTED_IDENTIFIER ON
3659GO
3660
3661
3662-- 멤버 추가
3663CREATE PROC [dbo].[spAddClanMember]
3664 @CLID int,
3665 @CID int,
3666 @Grade tinyint
3667AS
3668 SET NOCOUNT ON
3669 -- í´ëžœì´ 존재하는지 ì²´í¬
3670 DECLARE @varClanCount int
3671
3672 SELECT @varClanCount=COUNT(*) FROM Clan(nolock) WHERE CLID=@CLID AND ((DeleteFlag IS NULL) OR (DeleteFlag=0))
3673 IF (@varClanCount = 0)
3674 BEGIN
3675 SELECT 0 AS Ret
3676 return (-1)
3677 END
3678
3679 -- í´ëžœì›ìˆ˜ ì²´í¬
3680 DECLARE @MemberCount int
3681
3682 SELECT @MemberCount=COUNT(*) FROM ClanMember(nolock) WHERE CLID=@CLID
3683 IF @MemberCount >= 64 -- 최대 64명까지 가능
3684 BEGIN
3685 SELECT 0 AS Ret
3686 return (-1)
3687 END
3688
3689 BEGIN TRAN
3690 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@CLID, @CID, @Grade, GETDATE())
3691 IF 0 <> @@ERROR BEGIN
3692 ROLLBACK TRAN
3693 SELECT 0 AS Ret
3694 RETURN (-1)
3695 END
3696 COMMIT TRAN
3697 SELECT 1 AS Ret
3698
3699
3700
3701
3702
3703GO
3704/****** Object: StoredProcedure [dbo].[spAddFriend] Script Date: 28-05-2018 18:12:28 ******/
3705SET ANSI_NULLS ON
3706GO
3707SET QUOTED_IDENTIFIER ON
3708GO
3709
3710
3711-- sp
3712
3713-- 친구 추가
3714CREATE PROC [dbo].[spAddFriend]
3715 @CID int
3716, @FriendCID int
3717, @Favorite tinyint
3718AS
3719BEGIN TRAN
3720 SET NOCOUNT ON
3721 DECLARE @ID int
3722 INSERT INTO Friend(CID, FriendCID, Favorite, DeleteFlag, Type) Values (@CID, @FriendCID, @Favorite, 0, 1)
3723 IF 0 <> @@ERROR BEGIN
3724 ROLLBACK TRAN
3725 RETURN
3726 END
3727 SET @ID = @@IDENTITY
3728 SELECT @ID as ID
3729COMMIT TRAN
3730
3731
3732
3733
3734
3735GO
3736/****** Object: StoredProcedure [dbo].[spAdmWebAccountItemInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
3737SET ANSI_NULLS ON
3738GO
3739SET QUOTED_IDENTIFIER ON
3740GO
3741
3742CREATE PROC [dbo].[spAdmWebAccountItemInfoByAID]
3743 @AID int
3744AS
3745 SET NOCOUNT ON
3746 SELECT ai.AIID, ai.RentHourPeriod, i.Name, i.ItemID
3747 , CASE ISNULL(RentDate, 0 )
3748 WHEN 0 THEN '0'
3749 ELSE (RentHourPeriod-DATEDIFF (hh, RentDate, GetDate()))
3750 END AS RentRemain
3751 , CASE ISNULL(ai.RentDate, 0)
3752 WHEN 0 THEN '0'
3753 ELSE CAST(ai.RentDate AS varchar(24))
3754 END as RentDate
3755 FROM AccountItem ai(NOLOCK) JOIN Item i(NOLOCK)
3756 ON ai.AID = @AID AND i.ItemID = ai.ItemID
3757
3758
3759
3760
3761GO
3762/****** Object: StoredProcedure [dbo].[spAdmWebAddClanMember] Script Date: 28-05-2018 18:12:28 ******/
3763SET ANSI_NULLS ON
3764GO
3765SET QUOTED_IDENTIFIER ON
3766GO
3767
3768CREATE PROC [dbo].[spAdmWebAddClanMember]
3769 @CLID int
3770, @NewCID int
3771, @GMID varchar(20)
3772, @Ret int OUTPUT
3773AS
3774 SET NOCOUNT ON
3775
3776 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK)
3777 WHERE CID = @NewCID AND DeleteFlag <> 1) BEGIN
3778 SET @Ret = 0
3779 RETURN @Ret
3780 END
3781
3782 IF NOT EXISTS (SELECT CLID FROM Clan(NOLOCK)
3783 WHERE CLID = @CLID AND DeleteFlag <> 1) BEGIN
3784 SET @Ret = 0
3785 RETURN @Ret
3786 END
3787
3788 IF EXISTS (SELECT CMID FROM ClanMember(NOLOCK)
3789 WHERE CID = @NewCID) BEGIN
3790 SET @Ret = 0
3791 RETURN @Ret
3792 END
3793
3794 INSERT INTO ClanMember(CLID, CID, Grade, RegDate, ContPoint)
3795 VALUES (@CLID, @NewCID, 9, GETDATE(), 0)
3796 IF 0 <> @@ERROR BEGIN
3797 SET @Ret = 0
3798 RETURN @Ret
3799 END
3800
3801 SET @Ret = 1
3802 RETURN @Ret
3803
3804
3805
3806
3807GO
3808/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharDeathCount] Script Date: 28-05-2018 18:12:28 ******/
3809SET ANSI_NULLS ON
3810GO
3811SET QUOTED_IDENTIFIER ON
3812GO
3813
3814CREATE PROC [dbo].[spAdmWebChangeCharDeathCount]
3815 @CID int
3816, @DeathCount int
3817, @GMID varchar(20)
3818, @Ret int OUTPUT
3819AS
3820 SET NOCOUNT ON
3821
3822 IF (0 > @DeathCount) BEGIN
3823 SET @Ret = 0
3824 RETURN @Ret
3825 END
3826
3827 UPDATE Character SET DeathCount = @DeathCount
3828 WHERE CID = @CID
3829 IF 0 = @@ROWCOUNT BEGIN
3830 SET @Ret = 0
3831 RETURN @Ret
3832 END
3833
3834 SET @Ret = 1
3835 RETURN @Ret
3836
3837
3838
3839
3840GO
3841/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharKillCount] Script Date: 28-05-2018 18:12:28 ******/
3842SET ANSI_NULLS ON
3843GO
3844SET QUOTED_IDENTIFIER ON
3845GO
3846
3847CREATE PROC [dbo].[spAdmWebChangeCharKillCount]
3848 @CID int
3849, @KillCount int
3850, @GMID varchar(20)
3851, @Ret int OUTPUT
3852AS
3853 SET NOCOUNT ON
3854 IF (0 > @KillCount) BEGIN
3855 SET @Ret = 0
3856 RETURN @Ret
3857 END
3858
3859 UPDATE Character SET KillCount = @KillCount
3860 WHERE CID = @CID
3861 IF 0 = @@ROWCOUNT BEGIN
3862 SET @Ret = 0
3863 RETURN @Ret
3864 END
3865
3866 SET @Ret = 1
3867 RETURN @Ret
3868
3869
3870
3871
3872GO
3873/****** Object: StoredProcedure [dbo].[spAdmWebChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
3874SET ANSI_NULLS ON
3875GO
3876SET QUOTED_IDENTIFIER ON
3877GO
3878
3879CREATE PROC [dbo].[spAdmWebChangeCharName]
3880 @CID int
3881, @CharName varchar(24)
3882, @GMID varchar(20)
3883, @Ret int OUTPUT
3884AS
3885 SET NOCOUNT ON
3886 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK)
3887 WHERE (DeleteFlag <> 1) AND (Name = @CharName)) BEGIN
3888 UPDATE Character SET Name = @CharName WHERE CID = @CID
3889 IF 0 = @@ROWCOUNT BEGIN
3890 SET @Ret = 0
3891 RETURN @Ret
3892 END
3893 END
3894 ELSE BEGIN
3895 SET @Ret = 0
3896 RETURN @Ret
3897 END
3898
3899 SET @Ret = 1
3900 RETURN @Ret
3901
3902
3903
3904
3905GO
3906/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanEXP] Script Date: 28-05-2018 18:12:28 ******/
3907SET ANSI_NULLS ON
3908GO
3909SET QUOTED_IDENTIFIER ON
3910GO
3911
3912CREATE PROC [dbo].[spAdmWebChangeClanEXP]
3913 @CLID int
3914, @NewEXP int
3915, @GMID varchar(20)
3916, @Ret int OUTPUT
3917AS
3918 SET NOCOUNT ON
3919
3920 IF 0 > @NewEXP BEGIN
3921 SET @Ret = 0
3922 RETURN @Ret
3923 END
3924
3925 UPDATE Clan SET EXP = @NewEXP
3926 WHERE CLID = @CLID AND DeleteFlag <> 1
3927 IF 0 = @@ROWCOUNT BEGIN
3928 SET @Ret = 0
3929 RETURN @Ret
3930 END
3931
3932 SET @Ret = 1
3933 RETURN @Ret
3934
3935
3936
3937
3938GO
3939/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanHomepage] Script Date: 28-05-2018 18:12:28 ******/
3940SET ANSI_NULLS ON
3941GO
3942SET QUOTED_IDENTIFIER ON
3943GO
3944
3945CREATE PROC [dbo].[spAdmWebChangeClanHomepage]
3946 @CLID int
3947, @NewHomePage varchar(128)
3948, @GMID varchar(20)
3949, @Ret int OUTPUT
3950AS
3951 SET NOCOUNT ON
3952
3953 UPDATE Clan SET Homepage = @NewHomepage
3954 WHERE CLID = @CLID AND DeleteFlag <> 1
3955 IF 0 = @@ROWCOUNT BEGIN
3956 SET @Ret = 0
3957 RETURN @Ret
3958 END
3959
3960 SET @Ret = 1
3961 RETURN @Ret
3962
3963
3964
3965
3966GO
3967/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanIntroduction] Script Date: 28-05-2018 18:12:28 ******/
3968SET ANSI_NULLS ON
3969GO
3970SET QUOTED_IDENTIFIER ON
3971GO
3972
3973CREATE PROC [dbo].[spAdmWebChangeClanIntroduction]
3974 @CLID int
3975, @NewIntroduction varchar(1024)
3976, @GMID varchar(20)
3977, @Ret int OUTPUT
3978AS
3979 SET NOCOUNT ON
3980
3981 UPDATE Clan SET Introduction = @NewIntroduction WHERE CLID = @CLID
3982 IF 0 = @@ROWCOUNT BEGIN
3983 SET @Ret = 0
3984 RETURN @Ret
3985 END
3986
3987 SET @Ret = 1
3988 RETURN @Ret
3989
3990
3991
3992
3993GO
3994/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanMemberGrade] Script Date: 28-05-2018 18:12:28 ******/
3995SET ANSI_NULLS ON
3996GO
3997SET QUOTED_IDENTIFIER ON
3998GO
3999
4000CREATE PROC [dbo].[spAdmWebChangeClanMemberGrade]
4001 @CLID int
4002, @CID int
4003, @NewGrade int
4004, @GMID varchar(20)
4005, @Ret int OUTPUT
4006AS
4007 SET NOCOUNT ON
4008
4009 IF NOT EXISTS (SELECT GradeID FROM ClanMemberGrade(NOLOCK)
4010 WHERE GradeID=@NewGrade) BEGIN
4011 SET @Ret=0
4012 RETURN @Ret
4013 END
4014
4015 IF 1=@NewGrade BEGIN -- master duplication check.
4016 IF EXISTS (SELECT CID FROM ClanMember(NOLOCK)
4017 WHERE CLID=@CLID AND Grade=@NewGrade) BEGIN
4018 SET @Ret=0
4019 RETURN @Ret
4020 END
4021 END
4022
4023 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
4024 IF 0=@@ROWCOUNT BEGIN
4025 SET @Ret=0
4026 RETURN @Ret
4027 END
4028
4029 SET @Ret=1
4030 RETURN @Ret
4031
4032
4033
4034
4035GO
4036/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanName] Script Date: 28-05-2018 18:12:28 ******/
4037SET ANSI_NULLS ON
4038GO
4039SET QUOTED_IDENTIFIER ON
4040GO
4041
4042CREATE PROC [dbo].[spAdmWebChangeClanName]
4043 @CLID int
4044, @NewClanName varchar(24)
4045, @GMID varchar(20)
4046, @Ret int OUTPUT
4047AS
4048 SET NOCOUNT ON
4049
4050 IF EXISTS (SELECT CLID FROM Clan(NOLOCK)
4051 WHERE Name = @NewClanName AND DeleteFlag <> 1) BEGIN
4052 SET @Ret = 0
4053 RETURN @Ret
4054 END
4055
4056 UPDATE Clan SET Name = @NewClanName
4057 WHERE CLID = @CLID AND DeleteFlag <> 1
4058 IF 0 = @@ROWCOUNT BEGIN
4059 SET @Ret = 0
4060 RETURN @Ret
4061 END
4062
4063 SET @Ret = 1
4064 RETURN @Ret
4065
4066
4067
4068
4069GO
4070/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanPoint] Script Date: 28-05-2018 18:12:28 ******/
4071SET ANSI_NULLS ON
4072GO
4073SET QUOTED_IDENTIFIER ON
4074GO
4075
4076CREATE PROC [dbo].[spAdmWebChangeClanPoint]
4077 @CLID int
4078, @NewClanPoint int
4079, @GMID varchar(20)
4080, @Ret int OUTPUT
4081AS
4082 SET NOCOUNT ON
4083
4084 IF 0 > @NewClanPoint BEGIN
4085 SET @Ret = 0
4086 RETURN @Ret
4087 END
4088
4089 UPDATE Clan SET Point = @NewClanPoint
4090 WHERE CLID = @CLID AND DeleteFlag <> 1
4091 IF 0 = @@ROWCOUNT BEGIN
4092 SET @Ret = 0
4093 RETURN @Ret
4094 END
4095
4096 SET @Ret = 1
4097 RETURN @Ret
4098
4099
4100
4101
4102GO
4103/****** Object: StoredProcedure [dbo].[spAdmWebChangeClanTotalPoint] Script Date: 28-05-2018 18:12:28 ******/
4104SET ANSI_NULLS ON
4105GO
4106SET QUOTED_IDENTIFIER ON
4107GO
4108
4109CREATE PROC [dbo].[spAdmWebChangeClanTotalPoint]
4110 @CLID int
4111, @NewClanTotalPoint int
4112, @GMID varchar(20)
4113, @Ret int OUTPUT
4114AS
4115 SET NOCOUNT ON
4116
4117 IF 0 > @NewClanTotalPoint BEGIN
4118 SET @Ret = 0
4119 RETURN @Ret
4120 END
4121
4122 UPDATE Clan SET TotalPoint = @NewClanTotalPoint
4123 WHERE CLID = @CLID AND DeleteFlag <> 1
4124 IF 0 = @@ROWCOUNT BEGIN
4125 SET @Ret = 0
4126 RETURN @Ret
4127 END
4128
4129 SET @Ret = 1
4130 RETURN @Ret
4131
4132
4133
4134
4135GO
4136/****** Object: StoredProcedure [dbo].[spAdmWebChangeWinsLosses] Script Date: 28-05-2018 18:12:28 ******/
4137SET ANSI_NULLS ON
4138GO
4139SET QUOTED_IDENTIFIER ON
4140GO
4141
4142CREATE PROC [dbo].[spAdmWebChangeWinsLosses]
4143 @CLID int
4144, @NewWins int
4145, @NewLosses int
4146, @GMID varchar(20)
4147, @Ret int OUTPUT
4148AS
4149 SET NOCOUNT ON
4150
4151 IF (0 > @NewWins) OR (0 > @NewLosses) BEGIN
4152 SET @Ret = 0
4153 RETURN @Ret
4154 END
4155
4156 UPDATE Clan SET Wins = @NewWins, Losses = @NewLosses
4157 WHERE CLID = @CLID AND DeleteFlag <> 1
4158 IF 0=@@ROWCOUNT BEGIN
4159 SET @Ret = 0
4160 RETURN @Ret
4161 END
4162
4163 SET @Ret = 1
4164 RETURN @Ret
4165
4166
4167
4168
4169GO
4170/****** Object: StoredProcedure [dbo].[spAdmWebDeleteAccountItem] Script Date: 28-05-2018 18:12:28 ******/
4171SET ANSI_NULLS ON
4172GO
4173SET QUOTED_IDENTIFIER ON
4174GO
4175
4176CREATE PROC [dbo].[spAdmWebDeleteAccountItem]
4177 @AID int
4178, @AIID int
4179, @ItemID int
4180, @GMID varchar(20)
4181, @Ret int OUTPUT
4182AS
4183 SET NOCOUNT ON
4184
4185 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK)
4186 WHERE AID = @AID) BEGIN
4187 SET @Ret = 0
4188 RETURN @Ret
4189 END
4190
4191 DELETE AccountItem WHERE AIID = @AIID AND AID = @AID AND ItemID = @ItemID
4192 IF 0 <> @@ERROR BEGIN
4193 SET @Ret = 0
4194 RETURN @Ret
4195 END
4196
4197 SET @Ret = 1
4198 RETURN @Ret
4199
4200
4201
4202
4203GO
4204/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
4205SET ANSI_NULLS ON
4206GO
4207SET QUOTED_IDENTIFIER ON
4208GO
4209
4210CREATE PROC [dbo].[spAdmWebDeleteCashSetShopItem]
4211 @CSSID int
4212, @Ret int OUTPUT
4213AS
4214 SET NOCOUNT ON
4215 DELETE CashSetShop WHERE CSSID = @CSSID
4216 IF 0 <> @@ERROR BEGIN
4217 SET @Ret = 0
4218 RETURN
4219 END
4220
4221 SET @Ret = 1
4222 RETURN @Ret
4223
4224
4225
4226
4227GO
4228/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
4229SET ANSI_NULLS ON
4230GO
4231SET QUOTED_IDENTIFIER ON
4232GO
4233
4234CREATE PROC [dbo].[spAdmWebDeleteCashShopItem]
4235 @CSID int
4236, @Ret int OUTPUT
4237AS
4238 SET NOCOUNT ON
4239
4240 BEGIN TRAN
4241 DELETE CashShop WHERE CSID = @CSID
4242 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4243 ROLLBACK TRAN
4244 SET @Ret = 0
4245 RETURN @Ret
4246 END
4247
4248 DELETE RentCashShopPrice WHERE CSID = @CSID
4249 IF 0 <> @@ERROR BEGIN
4250 ROLLBACK TRAN
4251 SET @Ret = 0
4252 RETURN @Ret
4253 END
4254 COMMIT TRAN
4255
4256 SET @Ret = 1
4257 RETURN @Ret
4258
4259
4260
4261
4262GO
4263/****** Object: StoredProcedure [dbo].[spAdmWebDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
4264SET ANSI_NULLS ON
4265GO
4266SET QUOTED_IDENTIFIER ON
4267GO
4268
4269CREATE PROC [dbo].[spAdmWebDeleteChar]
4270 @AID int
4271, @CharNum smallint
4272, @CharName varchar(24)
4273, @GMID varchar(20)
4274, @Ret int OUTPUT
4275AS
4276 SET NOCOUNT ON
4277
4278 DECLARE @CID int
4279 DECLARE @ErrSlot int
4280 DECLARE @ErrDelInfo int
4281 DECLARE @ErrName int
4282
4283 SELECT @CID = CID FROM Character(NOLOCK)
4284 WHERE AID = @AID AND Name = @CharName AND CharNum = @CharNum
4285 IF @CID IS NULL BEGIN
4286 SET @Ret = 0
4287 RETURN @Ret
4288 END
4289
4290 BEGIN TRAN
4291 -- ìºì‰¬ì•„ì´í…œì€ 중앙ì€í–‰ìœ¼ë¡œ ëŒë ¤ì¤˜ì•¼ 함.
4292 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod, Cnt )
4293 SELECT @AID AS AID, ItemID, RentDate, RentHourPeriod, Cnt
4294 FROM CharacterItem(NOLOCK)
4295 WHERE CID = @CID AND ItemID > 499999
4296 IF 0 <> @@ERROR BEGIN
4297 ROLLBACK TRAN
4298 SET @Ret = 0
4299 RETURN @Ret
4300 END
4301
4302 DELETE CharacterItem WHERE CID = @CID
4303 IF 0 <> @@ERROR BEGIN
4304 ROLLBACK TRAN
4305 SET @Ret = 0
4306 RETURN @Ret
4307 END
4308
4309 UPDATE Character SET head_slot = NULL, chest_slot = NULL, hands_slot = NULL,
4310 legs_slot = NULL, feet_slot = NULL, fingerl_slot = NULL,
4311 fingerr_slot = NULL, melee_slot = NULL, primary_slot = NULL,
4312 secondary_slot = NULL, custom1_slot = NULL, custom2_slot = NULL
4313 WHERE CID = @CID
4314 SET @ErrSlot = @@ROWCOUNT
4315
4316 UPDATE Character SET DeleteName = Name, DeleteFlag = 1 WHERE CID = @CID
4317 SET @ErrDelInfo = @@ROWCOUNT
4318
4319 UPDATE Character SET Name = '' WHERE CID = @CID
4320 SET @ErrName = @@ROWCOUNT
4321
4322 IF (0 = @ErrSlot) OR (0 = @ErrDelInfo) OR (0 = @ErrName) BEGIN
4323 ROLLBACK TRAN
4324 SET @Ret = 0
4325 RETURN @Ret
4326 END
4327 COMMIT TRAN
4328
4329 SET @Ret = 1
4330 RETURN @Ret
4331
4332
4333
4334
4335GO
4336/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
4337SET ANSI_NULLS ON
4338GO
4339SET QUOTED_IDENTIFIER ON
4340GO
4341
4342CREATE PROC [dbo].[spAdmWebDeleteCharacterItem]
4343 @CID int
4344, @CIID int
4345, @ItemID int
4346, @GMID varchar(20)
4347, @Ret int OUTPUT
4348AS
4349 SET NOCOUNT ON
4350
4351 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4352 SET @Ret = 0
4353 RETURN @Ret
4354 END
4355
4356 -- ì‚ì œí•˜ë ¤ëŠ” ì•„ì´í…œì„ ì°©ìš©í•˜ê³ ìžˆë‹¤ë©´ ë¨¼ì € í•´ì œì‹œì³ì•¼ 함.
4357 BEGIN TRAN
4358 UPDATE Character SET head_slot = NULL WHERE CID = @CID AND head_slot = @CIID
4359 UPDATE Character SET chest_slot = NULL WHERE CID = @CID AND chest_slot = @CIID
4360 UPDATE Character SET hands_slot = NULL WHERE CID = @CID AND hands_slot = @CIID
4361 UPDATE Character SET legs_slot = NULL WHERE CID = @CID AND legs_slot = @CIID
4362 UPDATE Character SET feet_slot = NULL WHERE CID = @CID AND feet_slot = @CIID
4363 UPDATE Character SET fingerl_slot = NULL WHERE CID = @CID AND fingerl_slot = @CIID
4364 UPDATE Character SET fingerr_slot = NULL WHERE CID = @CID AND fingerr_slot = @CIID
4365 UPDATE Character SET melee_slot = NULL WHERE CID = @CID AND melee_slot = @CIID
4366 UPDATE Character SET primary_slot = NULL WHERE CID = @CID AND primary_slot = @CIID
4367 UPDATE Character SET secondary_slot = NULL WHERE CID = @CID AND secondary_slot = @CIID
4368 UPDATE Character SET custom1_slot = NULL WHERE CID = @CID AND custom1_slot = @CIID
4369 UPDATE Character SET custom2_slot = NULL WHERE CID = @CID AND custom2_slot = @CIID
4370
4371 DELETE CharacterItem WHERE CIID = @CIID AND CID = @CID AND ItemID = @ItemID
4372 IF 0 <> @@ERROR BEGIN
4373 ROLLBACK TRAN
4374 SET @Ret = 0
4375 RETURN @Ret
4376 END
4377 COMMIT TRAN
4378
4379 SET @Ret = 1
4380 RETURN @Ret
4381
4382
4383
4384
4385GO
4386/****** Object: StoredProcedure [dbo].[spAdmWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
4387SET ANSI_NULLS ON
4388GO
4389SET QUOTED_IDENTIFIER ON
4390GO
4391
4392CREATE PROC [dbo].[spAdmWebDeleteClanByCID]
4393 @MasterCID int /* 마스터 CID */
4394AS
4395 SET NOCOUNT ON
4396 DECLARE @CLID int
4397
4398 SELECT @CLID = c.CLID
4399 FROM Clan c(NOLOCK)
4400 WHERE c.MasterCID = @MasterCID
4401
4402 -- ìš”ì² ì¡°ê±´ 검사.
4403 IF (@MasterCID IS NULL) OR (@CLID IS NULL) BEGIN
4404 SELECT 0 AS Ret
4405 ROLLBACK TRAN
4406 RETURN
4407 END
4408
4409 BEGIN TRAN
4410 -- Clan Member ì‚ì œ.
4411 DELETE ClanMember WHERE CLID = @CLID
4412 IF 0 <> @@ERROR BEGIN
4413 SELECT 0 AS Ret
4414 ROLLBACK TRAN
4415 RETURN
4416 END
4417
4418 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
4419 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL WHERE CLID = @CLID
4420 UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
4421 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
4422 COMMIT TRAN
4423
4424 SELECT 1 AS Ret
4425
4426
4427
4428
4429GO
4430/****** Object: StoredProcedure [dbo].[spAdmWebDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
4431SET ANSI_NULLS ON
4432GO
4433SET QUOTED_IDENTIFIER ON
4434GO
4435
4436
4437CREATE PROC [dbo].[spAdmWebDeleteCustomIP]
4438 @IPFrom varchar(15)
4439, @IPTo varchar(15)
4440, @Ret int OUTPUT
4441AS
4442 SET NOCOUNT ON
4443 DECLARE @TmpIPFrom BIGINT
4444 DECLARE @TmpIPTo BIGINT
4445
4446 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
4447 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
4448 IF @TmpIPFrom > @TmpIPTo BEGIN
4449 SET @Ret = 0
4450 RETURN @Ret
4451 END
4452
4453 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
4454 IF 0 <> @@ERROR SET @Ret = 0
4455 ELSE SET @Ret = 1
4456 RETURN @Ret
4457
4458
4459
4460
4461
4462GO
4463/****** Object: StoredProcedure [dbo].[spAdmWebDeleteOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
4464SET ANSI_NULLS ON
4465GO
4466SET QUOTED_IDENTIFIER ON
4467GO
4468
4469CREATE PROC [dbo].[spAdmWebDeleteOneCashSetItem]
4470 @CSSID int
4471, @CSID int
4472, @Ret int OUTPUT
4473AS
4474 SET NOCOUNT ON
4475 DELETE CashSetItem WHERE CSSID = @CSSID AND CSID = @CSID
4476 IF (0 <> @@ERROR) BEGIN
4477 SET @Ret = 0
4478 RETURN @Ret
4479 END
4480 SET @Ret = 1
4481 RETURN @Ret
4482
4483
4484
4485
4486GO
4487/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4488SET ANSI_NULLS ON
4489GO
4490SET QUOTED_IDENTIFIER ON
4491GO
4492
4493CREATE PROC [dbo].[spAdmWebDeleteRentCashSetShopPrice]
4494 @RCSSPID int
4495, @CSSID int
4496, @Ret int OUTPUT
4497AS
4498 SET NOCOUNT ON
4499 DELETE RentCashSetShopPrice WHERE RCSSPID = @RCSSPID AND CSSID = @CSSID
4500 IF 0 <> @@ERROR BEGIN
4501 SET @Ret = 0
4502 RETURN @Ret
4503 END
4504
4505 SET @Ret = 1
4506 RETURN @Ret
4507
4508
4509
4510
4511GO
4512/****** Object: StoredProcedure [dbo].[spAdmWebDeleteRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
4513SET ANSI_NULLS ON
4514GO
4515SET QUOTED_IDENTIFIER ON
4516GO
4517
4518CREATE PROC [dbo].[spAdmWebDeleteRentCashShopPrice]
4519 @RCSPID int
4520, @CSID int
4521, @Ret int OUTPUT
4522AS
4523 SET NOCOUNT ON
4524 DELETE RentCashShopPrice WHERE RCSPID = @RCSPID AND CSID = @CSID
4525 IF 0 <> @@ERROR BEGIN
4526 SET @Ret = 0
4527 RETURN @Ret
4528 END
4529 SET @Ret = 1
4530 RETURN @Ret
4531
4532
4533
4534
4535GO
4536/****** Object: StoredProcedure [dbo].[spAdmWebEditCharBP] Script Date: 28-05-2018 18:12:28 ******/
4537SET ANSI_NULLS ON
4538GO
4539SET QUOTED_IDENTIFIER ON
4540GO
4541
4542CREATE PROC [dbo].[spAdmWebEditCharBP]
4543 @CID int
4544, @BP int
4545, @GMID varchar(20)
4546, @Ret int OUTPUT
4547AS
4548 SET NOCOUNT ON
4549 UPDATE Character SET BP = @BP WHERE CID = @CID
4550 IF 0 = @@ROWCOUNT BEGIN
4551 SET @Ret = 0
4552 RETURN @Ret
4553 END
4554
4555 SET @Ret = 1
4556 RETURN @Ret
4557
4558
4559
4560
4561GO
4562/****** Object: StoredProcedure [dbo].[spAdmWebEditCharKillDeathCount] Script Date: 28-05-2018 18:12:28 ******/
4563SET ANSI_NULLS ON
4564GO
4565SET QUOTED_IDENTIFIER ON
4566GO
4567
4568CREATE PROC [dbo].[spAdmWebEditCharKillDeathCount]
4569 @CID int
4570, @KillCount int
4571, @DeathCount int
4572, @GMID varchar(20)
4573, @Ret int OUTPUT
4574AS
4575 IF (0 > @KillCount) OR (0 > @DeathCount) BEGIN
4576 SET @Ret = 0
4577 RETURN @Ret
4578 END
4579
4580 UPDATE Character SET KillCount = @KillCount, DeathCount = @DeathCount
4581 WHERE CID = @CID
4582 IF 0 = @@ROWCOUNT BEGIN
4583 SET @Ret = 0
4584 RETURN @Ret
4585 END
4586
4587 SET @Ret = 1
4588 RETURN @Ret
4589
4590
4591
4592
4593GO
4594/****** Object: StoredProcedure [dbo].[spAdmWebEditCharLevel] Script Date: 28-05-2018 18:12:28 ******/
4595SET ANSI_NULLS ON
4596GO
4597SET QUOTED_IDENTIFIER ON
4598GO
4599
4600CREATE PROC [dbo].[spAdmWebEditCharLevel]
4601 @CID int
4602, @Level smallint
4603, @GMID varchar(20)
4604, @Ret int OUTPUT
4605AS
4606 SET NOCOUNT ON
4607
4608 IF (1 > @Level) OR (99 < @Level) BEGIN
4609 SET @Ret = -1
4610 RETURN @Ret
4611 END
4612
4613 IF NOT EXISTS (SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
4614 SET @Ret = -2
4615 RETURN @Ret
4616 END
4617
4618 IF EXISTS (SELECT CID FROM Character(NOLOCK)
4619 WHERE CID = @CID AND Level = @Level) BEGIN
4620 SET @Ret = 1
4621 RETURN @Ret
4622 END
4623
4624 DECLARE @XP int
4625
4626 SELECT @XP = MinXP FROM Level(NOLOCK) WHERE Level = @Level
4627 IF @XP IS NULL BEGIN
4628 SET @Ret = -3
4629 RETURN @Ret
4630 END
4631
4632 UPDATE Character SET Level = @Level, XP = @XP WHERE CID = @CID AND DeleteFlag <> 1
4633 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
4634 SET @Ret = -4
4635 RETURN @Ret
4636 END
4637
4638
4639
4640
4641GO
4642/****** Object: StoredProcedure [dbo].[spAdmWebEditCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
4643SET ANSI_NULLS ON
4644GO
4645SET QUOTED_IDENTIFIER ON
4646GO
4647
4648CREATE PROC [dbo].[spAdmWebEditCharPlayTime]
4649 @CID int
4650, @PlayTime int
4651, @GMID varchar(20)
4652, @Ret int OUTPUT
4653AS
4654 SET NOCOUNT ON
4655 IF (0 > @PlayTime) BEGIN
4656 SET @Ret = 0
4657 RETURN @Ret
4658 END
4659
4660 UPDATE Character SET PlayTime = @PlayTime WHERE CID = @CID
4661 IF 0 = @@ROWCOUNT BEGIN
4662 SET @Ret = 0
4663 RETURN @Ret
4664 END
4665
4666 SET @Ret = 1
4667 RETURN @Ret
4668
4669
4670
4671
4672GO
4673/****** Object: StoredProcedure [dbo].[spAdmWebEditCharXP] Script Date: 28-05-2018 18:12:28 ******/
4674SET ANSI_NULLS ON
4675GO
4676SET QUOTED_IDENTIFIER ON
4677GO
4678
4679CREATE PROC [dbo].[spAdmWebEditCharXP]
4680 @CID int
4681, @XP int
4682, @GMID varchar(20)
4683, @Ret int OUTPUT
4684AS
4685 SET NOCOUNT ON
4686
4687 IF 0 > @XP BEGIN
4688 SET @Ret = 0
4689 RETURN @Ret
4690 END
4691
4692 DECLARE @MaxMinXP int
4693 DECLARE @Level smallint
4694
4695 SELECT TOP 1 @MaxMinXP = MinXP FROM Level(NOLOCK)
4696 ORDER BY MinXP DESC
4697
4698 IF @MaxMinXP > @XP BEGIN
4699 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4700 WHERE MinXP <= @XP ORDER BY Level DESC
4701 END
4702 ELSE BEGIN
4703 SELECT TOP 1 @Level = Level FROM Level(NOLOCK)
4704 ORDER BY Level DESC
4705 END
4706
4707 UPDATE Character SET Level = @Level, XP = @XP
4708 WHERE CID = @CID AND DeleteFlag <> 1
4709 IF 0 = @@ROWCOUNT BEGIN
4710 SET @Ret = 0
4711 RETURN @Ret
4712 END
4713
4714 SET @Ret = 1
4715 RETURN @Ret
4716
4717
4718
4719
4720GO
4721/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4722SET ANSI_NULLS ON
4723GO
4724SET QUOTED_IDENTIFIER ON
4725GO
4726
4727CREATE PROC [dbo].[spAdmWebGetAccountInfoByAID]
4728 @AID int
4729AS
4730 SET NOCOUNT ON
4731
4732 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4733 FROM Account(NOLOCK)
4734 WHERE AID = @AID
4735
4736
4737
4738
4739GO
4740/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4741SET ANSI_NULLS ON
4742GO
4743SET QUOTED_IDENTIFIER ON
4744GO
4745
4746CREATE PROC [dbo].[spAdmWebGetAccountInfoByCharName]
4747 @CharName varchar( 24 )
4748AS
4749 SET NOCOUNT ON
4750
4751 SELECT a.UserID, a.AID, a.RegDate, a.UGradeID, a.Sex, a.Age, a.Name
4752 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
4753 ON c.Name = @CharName AND c.AID = a.AID
4754
4755
4756
4757
4758GO
4759/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4760SET ANSI_NULLS ON
4761GO
4762SET QUOTED_IDENTIFIER ON
4763GO
4764
4765CREATE PROC [dbo].[spAdmWebGetAccountInfoByUserID]
4766 @UserID varchar( 20 )
4767AS
4768 SET NOCOUNT ON
4769
4770 SELECT AID, UserID, Name, Age, Sex, UGradeID, RegDate
4771 FROM Account(NOLOCK)
4772 WHERE UserID = @UserID
4773
4774
4775
4776
4777GO
4778/****** Object: StoredProcedure [dbo].[spAdmWebGetAccountJoinStatistics] Script Date: 28-05-2018 18:12:28 ******/
4779SET ANSI_NULLS ON
4780GO
4781SET QUOTED_IDENTIFIER ON
4782GO
4783
4784CREATE PROC [dbo].[spAdmWebGetAccountJoinStatistics]
4785 @StartDate smalldatetime
4786, @EndDate smalldatetime
4787AS
4788 SET NOCOUNT ON
4789
4790 SELECT convert(char(10), RegDate, 120) as Date ,count(AID) as Count
4791 FROM Account(nolock)
4792 WHERE RegDate between convert(datetime, @StartDate) and convert(datetime, @EndDate)
4793 GROUP BY convert(char(10), RegDate, 120)
4794
4795
4796
4797
4798GO
4799/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
4800SET ANSI_NULLS ON
4801GO
4802SET QUOTED_IDENTIFIER ON
4803GO
4804
4805CREATE PROC [dbo].[spAdmWebGetAllCharInfoByAID]
4806 @AID int
4807AS
4808 SET NOCOUNT ON
4809
4810 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime
4811 , c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount, c.DeleteFlag, c.DeleteName
4812 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4813 ON a.AID = @AID AND c.AID = a.AID
4814
4815
4816
4817
4818GO
4819/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
4820SET ANSI_NULLS ON
4821GO
4822SET QUOTED_IDENTIFIER ON
4823GO
4824
4825CREATE PROC [dbo].[spAdmWebGetAllCharInfoByCharName]
4826 @CharName varchar( 24 )
4827AS
4828 SET NOCOUNT ON
4829
4830 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
4831 CharNum, Level, XP, BP, DeleteFlag, DeleteName,
4832 KillCount, DeathCount
4833 FROM Character(NOLOCK)
4834 WHERE Name = @CharName
4835 ORDER BY DeleteFlag, CharNum
4836
4837
4838
4839
4840GO
4841/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4842SET ANSI_NULLS ON
4843GO
4844SET QUOTED_IDENTIFIER ON
4845GO
4846
4847CREATE PROC [dbo].[spAdmWebGetAllCharInfoByOneCharName]
4848 @CharName varchar(24)
4849AS
4850 SET NOCOUNT ON
4851
4852 SELECT c2.Name, c2.CID
4853 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4854 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4855 ON c2.AID = a.AID
4856 ORDER BY c2.DeleteFlag, c2.CharNum
4857
4858
4859
4860
4861GO
4862/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
4863SET ANSI_NULLS ON
4864GO
4865SET QUOTED_IDENTIFIER ON
4866GO
4867
4868CREATE PROC [dbo].[spAdmWebGetAllCharInfoByUserID]
4869 @UserID varchar( 20 )
4870AS
4871 SET NOCOUNT ON
4872
4873 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
4874 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag,
4875 c.DeleteName, c.KillCount, c.DeathCount
4876 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4877 ON a.UserID = @UserID AND c.AID = a.AID
4878 ORDER BY c.DeleteFlag, c.CharNum
4879
4880
4881
4882
4883GO
4884/****** Object: StoredProcedure [dbo].[spAdmWebGetAllCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
4885SET ANSI_NULLS ON
4886GO
4887SET QUOTED_IDENTIFIER ON
4888GO
4889
4890CREATE PROC [dbo].[spAdmWebGetAllCharNameCIDByUserID]
4891 @UserID varchar(20)
4892AS
4893 SET NOCOUNT ON
4894
4895 SELECT c.Name, c.CID, c.DeleteFlag
4896 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
4897 ON a.UserID = @UserID AND c.AID = a.AID
4898 ORDER BY c.DeleteFlag, c.CharNum
4899
4900
4901
4902
4903GO
4904/****** Object: StoredProcedure [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
4905SET ANSI_NULLS ON
4906GO
4907SET QUOTED_IDENTIFIER ON
4908GO
4909
4910CREATE PROC [dbo].[spAdmWebGetAllSimpleCharInfoByOneCharName]
4911 @CharName varchar( 24 )
4912AS
4913 SET NOCOUNT ON
4914
4915 SELECT c2.Name, c2.CID
4916 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
4917 ON c1.Name = 'sunge_se' AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
4918 ON c2.AID = a.AID
4919 ORDER BY c2.DeleteFlag, c2.CharNum
4920
4921
4922
4923
4924GO
4925/****** Object: StoredProcedure [dbo].[spAdmWebGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
4926SET ANSI_NULLS ON
4927GO
4928SET QUOTED_IDENTIFIER ON
4929GO
4930
4931CREATE PROC [dbo].[spAdmWebGetBlockCountryCodeList]
4932 @Code char
4933AS
4934 SET NOCOUNT ON
4935
4936 SELECT bcc.CountryCode3, bcc.RoutingURL, bcc.IsBlock, cc.CountryName
4937 FROM BlockCountryCode bcc(NOLOCK) JOIN CountryCode cc(NOLOCK)
4938 ON cc.CountryCode3 = bcc.CountryCode3
4939 WHERE cc.CountryName LIKE @Code + '%'
4940 ORDER BY CountryName ASC
4941
4942
4943
4944
4945GO
4946/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLog] Script Date: 28-05-2018 18:12:28 ******/
4947SET ANSI_NULLS ON
4948GO
4949SET QUOTED_IDENTIFIER ON
4950GO
4951
4952CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLog]
4953 @CID int
4954, @ItemID int
4955AS
4956 SET NOCOUNT ON
4957
4958 SELECT ipl.id AS ID, c.Name AS CharName, ipl.ItemID, i.Name, c.CID,
4959 0 AS CIID, ipl.Bounty, ipl.CharBounty, i.Slot, ipl.Type, ipl.Date
4960 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
4961 ON c.CID = @CID AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
4962 ON i.ItemID = ipl.ItemID
4963 WHERE ipl.ItemID = @ItemID
4964 ORDER BY ipl.id DESC
4965
4966
4967
4968
4969GO
4970/****** Object: StoredProcedure [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
4971SET ANSI_NULLS ON
4972GO
4973SET QUOTED_IDENTIFIER ON
4974GO
4975
4976CREATE PROC [dbo].[spAdmWebGetBountyItemPurchaseLogByCharName]
4977 @CharName varchar( 24 )
4978AS
4979 SET NOCOUNT ON
4980
4981 SELECT ipl.id AS ID, ipl.ItemID, i.Name, c.CID, 0 AS CIID, ipl.Bounty,
4982 ipl.CharBounty, i.Slot, ipl.type, ipl.Date
4983 FROM (Character c(NOLOCK) JOIN ItemPurchaseLogByBounty ipl(NOLOCK)
4984 ON c.Name = @CharName AND ipl.CID = c.CID) JOIN Item i(NOLOCK)
4985 ON i.ItemID = ipl.ItemID
4986 ORDER BY ipl.Date DESC
4987
4988
4989
4990
4991GO
4992/****** Object: StoredProcedure [dbo].[spAdmWebGetCaracterMakingLog] Script Date: 28-05-2018 18:12:28 ******/
4993SET ANSI_NULLS ON
4994GO
4995SET QUOTED_IDENTIFIER ON
4996GO
4997
4998CREATE PROC [dbo].[spAdmWebGetCaracterMakingLog]
4999 @CharName varchar(24)
5000AS
5001 SET NOCOUNT ON
5002 SELECT a.UserID, cml.AID, cml.CharName, cml.Type, cml.Date
5003 FROM Account a(nolock), CharacterMakingLog cml(nolock)
5004 WHERE cml.CharName = @CharName AND a.AID = cml.AID
5005 ORDER BY cml.Date DESC
5006
5007
5008
5009
5010GO
5011/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5012SET ANSI_NULLS ON
5013GO
5014SET QUOTED_IDENTIFIER ON
5015GO
5016
5017CREATE PROC [dbo].[spAdmWebGetCashItemPresentRecvLog]
5018 @AID int
5019AS
5020 SET NOCOUNT ON
5021 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5022 , i.Name AS ItemName, cpl.Date, cpl.Cash
5023 , CASE ISNULL(cpl.RentHourPeriod, 0)
5024 WHEN 0 THEN '0'
5025 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5026 END AS 'RentHourPeriod'
5027 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5028 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashShop cs(NOLOCK)
5029 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5030 ON i.ItemID = cs.ItemID
5031 ORDER BY cpl.Date DESC
5032
5033
5034
5035
5036GO
5037/****** Object: StoredProcedure [dbo].[spAdmWebGetCashItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5038SET ANSI_NULLS ON
5039GO
5040SET QUOTED_IDENTIFIER ON
5041GO
5042
5043CREATE PROC [dbo].[spAdmWebGetCashItemPresentSendLog]
5044 @AID int
5045AS
5046 SET NOCOUNT ON
5047 SELECT cpl.id, cpl.SenderUserID, ar.UserID AS ReceiverUserID
5048 , i.Name AS ItemName, cpl.Date, cpl.Cash
5049 , CASE ISNULL(cpl.RentHourPeriod, 0)
5050 WHEN 0 THEN '0'
5051 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5052 END AS 'RentHourPeriod'
5053 FROM (((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5054 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashShop cs(NOLOCK)
5055 ON cs.CSID = cpl.CSID) JOIN Item i(NOLOCK)
5056 ON i.ItemID = cs.ItemID) JOIN Account ar(NOLOCK)
5057 ON ar.AID = cpl.ReceiverAID
5058 ORDER BY cpl.Date DESC
5059
5060
5061
5062
5063GO
5064/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentRecvLog] Script Date: 28-05-2018 18:12:28 ******/
5065SET ANSI_NULLS ON
5066GO
5067SET QUOTED_IDENTIFIER ON
5068GO
5069
5070CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentRecvLog]
5071 @AID int
5072AS
5073 SET NOCOUNT ON
5074 SELECT cpl.id, cpl.SenderUserID, a.UserID AS ReceiverUserID
5075 , css.Name AS ItemName, cpl.Date, cpl.Cash
5076 , CASE ISNULL(cpl.RentHourPeriod, 0)
5077 WHEN 0 THEN '0'
5078 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5079 END AS 'RentHourPeriod'
5080 FROM (Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5081 ON a.AID = @AID AND cpl.ReceiverAID = a.AID) JOIN CashSetShop css(NOLOCK)
5082 ON css.CSSID = cpl.CSSID
5083 ORDER BY cpl.Date DESC
5084
5085
5086
5087
5088GO
5089/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetItemPresentSendLog] Script Date: 28-05-2018 18:12:28 ******/
5090SET ANSI_NULLS ON
5091GO
5092SET QUOTED_IDENTIFIER ON
5093GO
5094
5095CREATE PROC [dbo].[spAdmWebGetCashSetItemPresentSendLog]
5096 @AID int
5097AS
5098 SET NOCOUNT ON
5099 SELECT cpl.id, cpl.SenderUserID, aa.UserID AS ReceiverUserID
5100 , css.Name AS ItemName, cpl.Date, cpl.Cash
5101 , CASE ISNULL(cpl.RentHourPeriod, 0)
5102 WHEN 0 THEN '0'
5103 ELSE CAST(cpl.RentHourPeriod AS varchar(10))
5104 END AS 'RentHourPeriod'
5105 FROM ((Account a(NOLOCK) JOIN CashItemPresentLog cpl(NOLOCK)
5106 ON a.AID = @AID AND cpl.SenderUserID = a.UserID) JOIN CashSetShop css(NOLOCK)
5107 ON css.CSSID = cpl.CSSID) JOIN Account aa(NOLOCK)
5108 ON aa.AID = cpl.ReceiverAID
5109 ORDER BY cpl.Date DESC
5110
5111
5112
5113
5114GO
5115/****** Object: StoredProcedure [dbo].[spAdmWebGetCashSetShopList] Script Date: 28-05-2018 18:12:28 ******/
5116SET ANSI_NULLS ON
5117GO
5118SET QUOTED_IDENTIFIER ON
5119GO
5120
5121CREATE PROC [dbo].[spAdmWebGetCashSetShopList]
5122AS
5123 SET NOCOUNT ON
5124 SELECT CSSID, Name
5125 FROM CashSetShop(NOLOCK)
5126 ORDER BY CSSID
5127
5128
5129
5130
5131GO
5132/****** Object: StoredProcedure [dbo].[spAdmWebGetCashShopList] Script Date: 28-05-2018 18:12:28 ******/
5133SET ANSI_NULLS ON
5134GO
5135SET QUOTED_IDENTIFIER ON
5136GO
5137
5138CREATE PROC [dbo].[spAdmWebGetCashShopList]
5139AS
5140 SET NOCOUNT ON
5141 SELECT cs.CSID, i.Name, i.Slot, cs.Opened, cs.NewItemOrder,
5142 cs.CashPrice, cs.WebImgName, ISNULL(cs.RentType, 0) AS 'RentType'
5143 FROM CashShop cs(NOLOCK) JOIN Item i(NOLOCK)
5144 ON i.ItemID = cs.ItemID
5145
5146
5147
5148
5149GO
5150/****** Object: StoredProcedure [dbo].[spAdmWebGetCharInfoByUserID] Script Date: 28-05-2018 18:12:28 ******/
5151SET ANSI_NULLS ON
5152GO
5153SET QUOTED_IDENTIFIER ON
5154GO
5155
5156CREATE PROC [dbo].[spAdmWebGetCharInfoByUserID]
5157 @UserID varchar(20)
5158AS
5159 SET NOCOUNT ON
5160
5161 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,c.Sex,
5162 c.CharNum, c.Level, c.XP, c.BP, c.DeleteFlag, c.DeleteName,
5163 c.KillCount, c.DeathCount
5164 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5165 ON a.UserID = @UserID AND c.AID = a.AID
5166 ORDER BY DeleteFlag, CharNum
5167
5168
5169
5170
5171GO
5172/****** Object: StoredProcedure [dbo].[spAdmWebGetCharItemByCID] Script Date: 28-05-2018 18:12:28 ******/
5173SET ANSI_NULLS ON
5174GO
5175SET QUOTED_IDENTIFIER ON
5176GO
5177
5178CREATE PROC [dbo].[spAdmWebGetCharItemByCID]
5179 @CID int
5180AS
5181BEGIN
5182 SET NOCOUNT ON
5183
5184 SELECT ci.ItemID, i.Name, ci.CIID, ci.RegDate AS RegDate,
5185 CASE
5186 WHEN ci.RentHourPeriod IS NOT NULL THEN (RentHourPeriod) - (DateDiff(hh, RentDate, GETDATE()))
5187 WHEN ci.RentHourPeriod IS NULL THEN -1
5188 ELSE -2 -- error.
5189 END AS RentPeriodRemainderHour,
5190 CASE ci.CIID
5191 WHEN c.head_slot THEN 'Head'
5192 WHEN c.chest_slot THEN 'Chest'
5193 WHEN c.hands_slot THEN 'Hands'
5194 WHEN c.legs_slot THEN 'Legs'
5195 WHEN c.feet_slot THEN 'Feet'
5196 WHEN c.fingerl_slot THEN 'Left finger'
5197 WHEN c.fingerr_slot THEN 'Right finger'
5198 WHEN c.melee_slot THEN 'Melee'
5199 WHEN c.primary_slot THEN 'Primary'
5200 WHEN c.secondary_slot THEN 'Secondary'
5201 WHEN c.custom1_slot THEN 'Custom1'
5202 WHEN c.custom2_slot THEN 'Custom2'
5203 ELSE 'Free item'
5204 END AS KeepOnPosition,
5205 CASE ci.CIID
5206 WHEN c.head_slot THEN 11
5207 WHEN c.chest_slot THEN 12
5208 WHEN c.hands_slot THEN 13
5209 WHEN c.legs_slot THEN 14
5210 WHEN c.feet_slot THEN 15
5211 WHEN c.fingerl_slot THEN 16
5212 WHEN c.fingerr_slot THEN 17
5213 WHEN c.melee_slot THEN 18
5214 WHEN c.primary_slot THEN 19
5215 WHEN c.secondary_slot THEN 20
5216 WHEN c.custom1_slot THEN 21
5217 WHEN c.custom2_slot THEN 22
5218 ELSE 23
5219 END AS Orders
5220 FROM (Character c(NOLOCK) JOIN CharacterItem ci(NOLOCK)
5221 ON c.CID = @CID AND ci.CID = c.CID) JOIN Item i(NOLOCK)
5222 ON i.ItemID = ci.ItemID
5223 ORDER BY Orders
5224END
5225
5226
5227
5228
5229GO
5230/****** Object: StoredProcedure [dbo].[spAdmWebGetCharLogByCharName] Script Date: 28-05-2018 18:12:28 ******/
5231SET ANSI_NULLS ON
5232GO
5233SET QUOTED_IDENTIFIER ON
5234GO
5235
5236CREATE PROC [dbo].[spAdmWebGetCharLogByCharName]
5237 @CharName varchar(24)
5238AS
5239 SET NOCOUNT ON
5240
5241 SELECT a.UserID, cml.CharName, cml.Type, cml.Date
5242 FROM CharacterMakingLog cml(NOLOCK) JOIN Account a(NOLOCK)
5243 ON cml.CharName = @CharName AND a.AID = cml.AID
5244
5245
5246
5247
5248GO
5249/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItem] Script Date: 28-05-2018 18:12:28 ******/
5250SET ANSI_NULLS ON
5251GO
5252SET QUOTED_IDENTIFIER ON
5253GO
5254
5255CREATE PROC [dbo].[spAdmWebGetCharQuestItem]
5256 @CharName varchar( 24 )
5257AS
5258BEGIN
5259 SET NOCOUNT ON
5260
5261 SELECT QuestItemInfo
5262 FROM Character( NOLOCK )
5263 WHERE Name = @CharName
5264END
5265
5266
5267
5268
5269GO
5270/****** Object: StoredProcedure [dbo].[spAdmWebGetCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
5271SET ANSI_NULLS ON
5272GO
5273SET QUOTED_IDENTIFIER ON
5274GO
5275
5276CREATE PROC [dbo].[spAdmWebGetCharQuestItemInfoByCID]
5277 @CID int
5278AS
5279 SET NOCOUNT ON
5280
5281 SELECT QuestItemInfo FROM Character(NOLOCK) WHERE CID = @CID
5282
5283
5284
5285
5286GO
5287/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5288SET ANSI_NULLS ON
5289GO
5290SET QUOTED_IDENTIFIER ON
5291GO
5292
5293CREATE PROC [dbo].[spAdmWebGetClanInfoByCharName]
5294 @CharName varchar(24)
5295AS
5296 SET NOCOUNT ON
5297
5298 DECLARE @CLID int
5299
5300 SELECT @CLID = cm.CLID
5301 FROM Character c(NOLOCK) JOIN ClanMember cm(NOLOCK)
5302 ON c.Name = @CharName AND cm.CID = c.CID
5303 IF @CLID IS NULL RETURN
5304
5305 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction, cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5306 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5307 ON cl.CLID = @CLID AND cl.MasterCID = c.CID
5308
5309
5310
5311
5312GO
5313/****** Object: StoredProcedure [dbo].[spAdmWebGetClanInfoByClanName] Script Date: 28-05-2018 18:12:28 ******/
5314SET ANSI_NULLS ON
5315GO
5316SET QUOTED_IDENTIFIER ON
5317GO
5318
5319CREATE PROC [dbo].[spAdmWebGetClanInfoByClanName]
5320 @ClanName varchar(24)
5321AS
5322 SET NOCOUNT ON
5323
5324 SELECT cl.CLID, cl.Name, c.Name AS 'MastName', cl.Introduction,
5325 cl.RegDate, cl.HomePage, cl.EmblemURL, cl.DeleteFlag
5326 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
5327 ON cl.Name = @ClanName AND cl.MasterCID = c.CID
5328
5329
5330
5331
5332GO
5333/****** Object: StoredProcedure [dbo].[spAdmWebGetClanMemberInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5334SET ANSI_NULLS ON
5335GO
5336SET QUOTED_IDENTIFIER ON
5337GO
5338
5339CREATE PROC [dbo].[spAdmWebGetClanMemberInfoByCLID]
5340 @CLID int
5341AS
5342 SET NOCOUNT ON
5343
5344 SELECT cm.CLID, cm.Grade, a.AID, a.UserID, c.Name, cm.CID, c.Level, cm.ContPoint, cm.RegDate
5345 FROM (ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
5346 ON cm.CLID = @CLID AND c.CID = cm.CID) JOIN Account a( NOLOCK)
5347 ON a.AID = c.AID
5348 WHERE c.DeleteFlag <> 1
5349Order by cm.Grade, cm.RegDate
5350
5351
5352
5353
5354
5355
5356GO
5357/****** Object: StoredProcedure [dbo].[spAdmWebGetClanRankInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
5358SET ANSI_NULLS ON
5359GO
5360SET QUOTED_IDENTIFIER ON
5361GO
5362
5363CREATE PROC [dbo].[spAdmWebGetClanRankInfoByCLID]
5364 @CLID int
5365AS
5366 SELECT Exp, Point, TotalPoint, Wins, Losses, Ranking, LastDayRanking, LastMonthRanking, RankIncrease
5367 FROM Clan(NOLOCK)
5368 WHERE CLID = @CLID
5369
5370
5371
5372
5373GO
5374/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
5375SET ANSI_NULLS ON
5376GO
5377SET QUOTED_IDENTIFIER ON
5378GO
5379
5380CREATE PROC [dbo].[spAdmWebGetCustomIP]
5381 @RegDateFrom smalldatetime
5382, @RegDateTo smalldatetime
5383AS
5384 SET NOCOUNT ON
5385 DECLARE @TmpIP bigint
5386
5387 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5388
5389 SELECT TestDB.game.inet_ntoa(IPFrom) AS IPFrom, TestDB.game.inet_ntoa(IPTo) AS IPTo,
5390 CountryCode3, Comment, IsBlock, RegDate
5391 FROM CustomIP(NOLOCK)
5392 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo
5393
5394
5395
5396
5397
5398GO
5399/****** Object: StoredProcedure [dbo].[spAdmWebGetCustomIPByIP] Script Date: 28-05-2018 18:12:28 ******/
5400SET ANSI_NULLS ON
5401GO
5402SET QUOTED_IDENTIFIER ON
5403GO
5404
5405CREATE PROC [dbo].[spAdmWebGetCustomIPByIP]
5406 @IP varchar(15)
5407, @RegDateFrom smalldatetime
5408, @RegDateTo smalldatetime
5409AS
5410 SET NOCOUNT ON
5411 DECLARE @TmpIP bigint
5412
5413 SET @TmpIP = TestDB.game.inet_aton( @IP )
5414 SET @RegDateTo = DATEADD( dd, 1, @RegDateTo )
5415
5416 SELECT TestDB.game.inet_ntoa(IPFrom) AS IPFrom, TestDB.game.inet_ntoa(IPTo) AS IPTo,
5417 CountryCode3, Comment, IsBlock, RegDate
5418 FROM CustomIP(NOLOCK)
5419 WHERE RegDate >= @RegDateFrom AND RegDate <= @RegDateTo AND
5420 IPFrom <= @TmpIP AND IPTo >= @TmpIP
5421
5422
5423
5424
5425
5426GO
5427/****** Object: StoredProcedure [dbo].[spAdmWebGetItemList] Script Date: 28-05-2018 18:12:28 ******/
5428SET ANSI_NULLS ON
5429GO
5430SET QUOTED_IDENTIFIER ON
5431GO
5432
5433CREATE PROC [dbo].[spAdmWebGetItemList]
5434AS
5435 SET NOCOUNT ON
5436 SELECT ItemID, Name, Slot, IsCashItem
5437 FROM Item(NOLOCK)
5438 ORDER BY ItemID
5439
5440
5441
5442
5443GO
5444/****** Object: StoredProcedure [dbo].[spAdmWebGetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
5445SET ANSI_NULLS ON
5446GO
5447SET QUOTED_IDENTIFIER ON
5448GO
5449
5450CREATE PROC [dbo].[spAdmWebGetItemPurchaseLogByCash]
5451 @AID int
5452AS
5453 SET NOCOUNT ON
5454 SELECT ipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID,
5455 i.Name AS ItemName, ipl.Date, ipl.Cash
5456 , CASE ISNULL(ipl.RentHourPeriod, 0)
5457 WHEN 0 THEN '0'
5458 ELSE CAST(ipl.RentHourPeriod AS varchar(10))
5459 END AS 'RentHourPeriod'
5460 FROM (Account a(NOLOCK) JOIN ItemPurchaseLogByCash ipl(NOLOCK)
5461 ON a.AID = @AID AND ipl.AID = a.AID) JOIN Item i(NOLOCK)
5462 ON i.ItemID = ipl.ItemID
5463 ORDER BY ipl.Date DESC
5464
5465
5466
5467
5468GO
5469/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByAID] Script Date: 28-05-2018 18:12:28 ******/
5470SET ANSI_NULLS ON
5471GO
5472SET QUOTED_IDENTIFIER ON
5473GO
5474
5475CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByAID]
5476 @AID int
5477AS
5478 SET NOCOUNT ON
5479
5480 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5481 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5482 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5483 ON a.AID = @AID AND c.AID = a.AID
5484 WHERE c.DeleteFlag <> 1
5485
5486
5487
5488
5489GO
5490/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByCharName] Script Date: 28-05-2018 18:12:28 ******/
5491SET ANSI_NULLS ON
5492GO
5493SET QUOTED_IDENTIFIER ON
5494GO
5495
5496CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByCharName]
5497 @CharName varchar( 24 )
5498AS
5499 SET NOCOUNT ON
5500
5501 SELECT Name, AID, CID, RegDate, PlayTime, LastTime, Sex,
5502 CharNum, Level, XP, BP, KillCount, DeathCount
5503 FROM Character(NOLOCK)
5504 WHERE Name = @CharName AND DeleteFlag <> 1
5505 ORDER BY CharNum
5506
5507
5508
5509
5510GO
5511/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
5512SET ANSI_NULLS ON
5513GO
5514SET QUOTED_IDENTIFIER ON
5515GO
5516
5517CREATE PROC [dbo].[spAdmWebGetLiveCharInfoByOneCharName]
5518 @CharName varchar(24)
5519AS
5520 SET NOCOUNT ON
5521
5522 SELECT c2.Name, c2.CID
5523 FROM (Character c1(NOLOCK) JOIN Account a(NOLOCK)
5524 ON c1.Name = @CharName AND a.AID = c1.AID) JOIN Character c2(NOLOCK)
5525 ON c2.AID = a.AID
5526 WHERE c2.DeleteFlag <> 1
5527 ORDER BY c2.CharNum
5528
5529
5530
5531
5532GO
5533/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharListByUserID] Script Date: 28-05-2018 18:12:28 ******/
5534SET ANSI_NULLS ON
5535GO
5536SET QUOTED_IDENTIFIER ON
5537GO
5538
5539CREATE PROC [dbo].[spAdmWebGetLiveCharListByUserID]
5540 @UserID varchar( 20 )
5541AS
5542 SET NOCOUNT ON
5543
5544 SELECT c.Name, c.AID, c.CID, c.RegDate, c.PlayTime, c.LastTime,
5545 c.Sex, c.CharNum, c.Level, c.XP, c.BP, c.KillCount, c.DeathCount
5546 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5547 ON a.UserID = @UserID AND c.AID = a.AID
5548 WHERE c.DeleteFlag <> 1
5549 ORDER BY c.CharNum
5550
5551
5552
5553
5554GO
5555/****** Object: StoredProcedure [dbo].[spAdmWebGetLiveCharNameCIDByUserID] Script Date: 28-05-2018 18:12:28 ******/
5556SET ANSI_NULLS ON
5557GO
5558SET QUOTED_IDENTIFIER ON
5559GO
5560
5561CREATE PROC [dbo].[spAdmWebGetLiveCharNameCIDByUserID]
5562 @UserID varchar(20)
5563AS
5564 SET NOCOUNT ON
5565
5566 SELECT c.Name, c.CID, c.DeleteFlag
5567 FROM Account a(NOLOCK) JOIN Character c(NOLOCK)
5568 ON a.UserID = @UserID AND c.AID = a.AID
5569 WHERE c.DeleteFlag <> 1
5570 ORDER BY c.DeleteFlag, c.CharNum
5571
5572
5573
5574
5575GO
5576/****** Object: StoredProcedure [dbo].[spAdmWebGetQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
5577SET ANSI_NULLS ON
5578GO
5579SET QUOTED_IDENTIFIER ON
5580GO
5581
5582CREATE PROC [dbo].[spAdmWebGetQuestItemInfo]
5583 @CID int
5584AS
5585 SET NOCOUNT ON
5586 SELECT CID, Name, QuestItemInfo
5587 FROM Character(NOLOCK)
5588 WHERE CID = @CID
5589
5590
5591
5592
5593GO
5594/****** Object: StoredProcedure [dbo].[spAdmWebGetRentPeriodDayList] Script Date: 28-05-2018 18:12:28 ******/
5595SET ANSI_NULLS ON
5596GO
5597SET QUOTED_IDENTIFIER ON
5598GO
5599
5600
5601CREATE PROC [dbo].[spAdmWebGetRentPeriodDayList]
5602AS
5603 SET NOCOUNT ON
5604 SELECT Day FROM RentPeriodDay(NOLOCK) ORDER BY Day
5605
5606
5607
5608
5609GO
5610/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLog10Min] Script Date: 28-05-2018 18:12:28 ******/
5611SET ANSI_NULLS ON
5612GO
5613SET QUOTED_IDENTIFIER ON
5614GO
5615
5616
5617
5618
5619------------------------------------------------------------------------------------------------------------------------
5620
5621CREATE PROC [dbo].[spAdmWebGetServerLog10Min]
5622 @ServerID tinyint
5623, @StartTime smalldatetime
5624, @EndTime smalldatetime
5625AS
5626 SET NOCOUNT ON
5627
5628 IF @StartTime > @EndTime RETURN
5629
5630 SELECT a.ServerID, ss.ServerName,
5631 CONVERT(smalldatetime,DATEADD(mi,a.time*10 ,@StartTime)) as starttime,
5632 CONVERT(smalldatetime,DATEADD(mi,(a.time*10+10)-1 ,@StartTime)) as endtime,
5633 SUM(playercount)/10/(DATEDIFF(DAY,@StartTime, @EndTime)+ 1) as PlayerCount
5634 FROM(
5635 SELECT ServerID, ISNULL(playercount,0) as PlayerCount, DATEPART(mi,DATEADD(mi, -1, time)) /10 as time
5636 FROM LogDB.game.ServerLogStorage(NOLOCK)
5637 WHERE Time BETWEEN @StartTime AND @EndTime
5638 AND datediff(hh,@StartTime, DATEADD(mi, -1, time) ) % 24 = 0
5639 ) as a, ServerStatus ss(NOLOCK)
5640 WHERE a.ServerID = @ServerID AND ss.ServerID = a.ServerID
5641 Group By a.ServerID, ss.ServerName, a.Time
5642 Order By a.Time
5643
5644
5645
5646
5647
5648
5649GO
5650/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogDayHour] Script Date: 28-05-2018 18:12:28 ******/
5651SET ANSI_NULLS ON
5652GO
5653SET QUOTED_IDENTIFIER ON
5654GO
5655
5656
5657CREATE PROC [dbo].[spAdmWebGetServerLogDayHour]
5658 @ServerType tinyint -- 0:ì „ì²´, 1:ì¼ë°˜, 2:í´ëžœ, 3:퀘스트, 4:ì´ë²¤íЏ
5659, @StartDate smalldatetime
5660, @EndDate smalldatetime
5661AS
5662 SET NOCOUNT ON
5663
5664 IF @StartDate > @EndDate RETURN
5665
5666 DECLARE @StartServerID int
5667 DECLARE @EndServerID int
5668
5669 IF 0 = @ServerType -- all
5670 SELECT @StartServerID = 1, @EndServerID = 255
5671 ELSE IF 1 = @ServerType -- normal
5672 SELECT @StartServerID = 1, @EndServerID = 49
5673 ELSE IF 2 = @ServerType -- clan
5674 SELECT @StartServerID = 50, @EndServerID = 99
5675 ELSE IF 3 = @ServerType -- quest
5676 SELECT @STartServerID = 100, @EndServerID = 149
5677 ELSE IF 4 = @ServerType -- event
5678 RETURN
5679 ELSE -- error
5680 RETURN
5681
5682 SELECT ss.ServerID, ss.ServerName,
5683 SUM(CASE DATEPART(hh, t.Time) WHEN 0 THEN t.PlayerCount ELSE 0 END) AS H0
5684 , SUM(CASE DATEPART(hh, t.Time) WHEN 1 THEN t.PlayerCount ELSE 0 END) AS H1
5685 , SUM(CASE DATEPART(hh, t.Time) WHEN 2 THEN t.PlayerCount ELSE 0 END) AS H2
5686 , SUM(CASE DATEPART(hh, t.Time) WHEN 3 THEN t.PlayerCount ELSE 0 END) AS H3
5687 , SUM(CASE DATEPART(hh, t.Time) WHEN 4 THEN t.PlayerCount ELSE 0 END) AS H4
5688 , SUM(CASE DATEPART(hh, t.Time) WHEN 5 THEN t.PlayerCount ELSE 0 END) AS H5
5689 , SUM(CASE DATEPART(hh, t.Time) WHEN 6 THEN t.PlayerCount ELSE 0 END) AS H6
5690 , SUM(CASE DATEPART(hh, t.Time) WHEN 7 THEN t.PlayerCount ELSE 0 END) AS H7
5691 , SUM(CASE DATEPART(hh, t.Time) WHEN 8 THEN t.PlayerCount ELSE 0 END) AS H8
5692 , SUM(CASE DATEPART(hh, t.Time) WHEN 9 THEN t.PlayerCount ELSE 0 END) AS H9
5693 , SUM(CASE DATEPART(hh, t.Time) WHEN 10 THEN t.PlayerCount ELSE 0 END) AS H10
5694 , SUM(CASE DATEPART(hh, t.Time) WHEN 11 THEN t.PlayerCount ELSE 0 END) AS H11
5695 , SUM(CASE DATEPART(hh, t.Time) WHEN 12 THEN t.PlayerCount ELSE 0 END) AS H12
5696 , SUM(CASE DATEPART(hh, t.Time) WHEN 13 THEN t.PlayerCount ELSE 0 END) AS H13
5697 , SUM(CASE DATEPART(hh, t.Time) WHEN 14 THEN t.PlayerCount ELSE 0 END) AS H14
5698 , SUM(CASE DATEPART(hh, t.Time) WHEN 15 THEN t.PlayerCount ELSE 0 END) AS H15
5699 , SUM(CASE DATEPART(hh, t.Time) WHEN 16 THEN t.PlayerCount ELSE 0 END) AS H16
5700 , SUM(CASE DATEPART(hh, t.Time) WHEN 17 THEN t.PlayerCount ELSE 0 END) AS H17
5701 , SUM(CASE DATEPART(hh, t.Time) WHEN 18 THEN t.PlayerCount ELSE 0 END) AS H18
5702 , SUM(CASE DATEPART(hh, t.Time) WHEN 19 THEN t.PlayerCount ELSE 0 END) AS H19
5703 , SUM(CASE DATEPART(hh, t.Time) WHEN 20 THEN t.PlayerCount ELSE 0 END) AS H20
5704 , SUM(CASE DATEPART(hh, t.Time) WHEN 21 THEN t.PlayerCount ELSE 0 END) AS H21
5705 , SUM(CASE DATEPART(hh, t.Time) WHEN 22 THEN t.PlayerCount ELSE 0 END) AS H22
5706 , SUM(CASE DATEPART(hh, t.Time) WHEN 23 THEN t.PlayerCount ELSE 0 END) AS H23
5707 , SUM(t.PlayerCount) / 24 AS AVG
5708 FROM (
5709 SELECT ServerID
5710 , CASE(DATEPART(mi, Time) % 10)
5711 WHEN 0 THEN DATEADD(mi, -1, Time)
5712 ELSE DATEADD(mi, (DATEPART(mi, Time) % 10) * -1, Time) END
5713 AS Time
5714 , PlayerCount
5715 FROM LogDB.game.ServerLogStorage(NOLOCK)
5716 WHERE (Time BETWEEN @StartDate AND @EndDate)
5717 AND (ServerID BETWEEN @StartServerID AND @EndServerID)
5718 ) AS t, ServerStatus ss(NOLOCK)
5719 WHERE ss.ServerID = t.ServerID
5720 GROUP BY ss.ServerID, ss.ServerName
5721 ORDER BY ss.ServerID
5722
5723
5724
5725
5726
5727GO
5728/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntDay] Script Date: 28-05-2018 18:12:28 ******/
5729SET ANSI_NULLS ON
5730GO
5731SET QUOTED_IDENTIFIER ON
5732GO
5733
5734
5735
5736
5737-------------------------------------------------------------------------------------------------------------
5738
5739CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntDay]
5740 @ServerType tinyint
5741, @StartDate smalldatetime
5742, @EndDate smalldatetime
5743AS
5744 SET NOCOUNT ON
5745
5746 IF @StartDate > @EndDate RETURN
5747
5748 DECLARE @TmpStartDate smalldatetime
5749 DECLARE @TmpEndDate smalldatetime
5750 DECLARE @RangeStartDate smalldatetime
5751 DECLARE @RangeEndDate smalldatetime
5752 DECLARE @DayDiff int
5753 DECLARE @StartServerID tinyint
5754 DECLARE @EndServerID tinyint
5755 DECLARE @LiveServerCount tinyint
5756 DECLARE @Date smalldatetime
5757 DECLARE @Query varchar(8000)
5758
5759 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5760 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5761
5762 IF @StartDate < @TmpStartDate
5763 SET @StartDate = @TmpStartDate
5764 IF @EndDate > @TmpEndDate
5765 SET @EndDate = @TmpEndDate
5766
5767 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5768 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5769 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5770
5771 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5772 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5773 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5774 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5775 ELSE IF 4 = @ServerType RETURN-- event
5776 ELSE RETURN
5777
5778 SELECT @LiveServerCount = COUNT(ServerID)
5779 FROM ServerStatus(NOLOCK)
5780 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5781
5782 SET @Query = 'SELECT t.ServerID, t.ServerName, '
5783
5784 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5785 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5786 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5787
5788 WHILE @Date <= @RangeEndDate BEGIN
5789 SET @Query = @Query + 'MAX(CASE t.Day WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5790 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day'
5791 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5792
5793 SET @Date = DATEADD(dd, 1, @Date)
5794 IF @Date > @RangeEndDate BREAK
5795 SET @Query = @Query + ', '
5796 END
5797
5798 SET @Query = @Query + ', SUM(MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5799 FROM
5800 (
5801 SELECT sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time)) AS Day, MAX(PlayerCount) AS MaxPlayerCount
5802 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5803 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
5804 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
5805 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
5806 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + '''' + '
5807 AND ss.ServerID = sls.ServerID
5808 GROUP BY sls.ServerID, ss.ServerName, DATEPART(dd, DATEADD(mi, -1, sls.Time))
5809 ) as t
5810 GROUP BY t.ServerID, t.ServerName
5811 ORDER BY t.ServerID'
5812
5813 EXEC (@Query)
5814
5815
5816
5817
5818
5819
5820GO
5821/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxPlayerCntHour] Script Date: 28-05-2018 18:12:28 ******/
5822SET ANSI_NULLS ON
5823GO
5824SET QUOTED_IDENTIFIER ON
5825GO
5826
5827
5828
5829----------------------------------------------------------------------------------------------------------------------------
5830
5831CREATE PROC [dbo].[spAdmWebGetServerLogMaxPlayerCntHour]
5832 @ServerType tinyint
5833, @StartDate smalldatetime
5834, @EndDate smalldatetime
5835AS
5836 SET NOCOUNT ON
5837
5838 IF @StartDate > @EndDate RETURN
5839
5840 DECLARE @StartServerID tinyint
5841 DECLARE @EndServerID tinyint
5842
5843 IF 0 = @ServerType -- all
5844 SELECT @StartServerID = 1, @EndServerID = 255
5845 ELSE IF 1 = @ServerType -- normal
5846 SELECT @StartServerID = 1, @EndServerID = 49
5847 ELSE IF 2 = @ServerType -- clan
5848 SELECT @StartServerID = 50, @EndServerID = 99
5849 ELSE IF 3 = @ServerType -- quest
5850 SELECT @STartServerID = 100, @EndServerID = 149
5851 ELSE IF 4 = @ServerType -- event
5852 RETURN
5853 ELSE
5854 RETURN
5855
5856SELECT t.ServerID, t.ServerName
5857 , MAX(CASE t.Time WHEN 0 THEN t.MaxPlayerCount ELSE 0 END) AS H0
5858 , MAX(CASE t.Time WHEN 1 THEN t.MaxPlayerCount ELSE 0 END) AS H1
5859 , MAX(CASE t.Time WHEN 2 THEN t.MaxPlayerCount ELSE 0 END) AS H2
5860 , MAX(CASE t.Time WHEN 3 THEN t.MaxPlayerCount ELSE 0 END) AS H3
5861 , MAX(CASE t.Time WHEN 4 THEN t.MaxPlayerCount ELSE 0 END) AS H4
5862 , MAX(CASE t.Time WHEN 5 THEN t.MaxPlayerCount ELSE 0 END) AS H5
5863 , MAX(CASE t.Time WHEN 6 THEN t.MaxPlayerCount ELSE 0 END) AS H6
5864 , MAX(CASE t.Time WHEN 7 THEN t.MaxPlayerCount ELSE 0 END) AS H7
5865 , MAX(CASE t.Time WHEN 8 THEN t.MaxPlayerCount ELSE 0 END) AS H8
5866 , MAX(CASE t.Time WHEN 9 THEN t.MaxPlayerCount ELSE 0 END) AS H9
5867 , MAX(CASE t.Time WHEN 10 THEN t.MaxPlayerCount ELSE 0 END) AS H10
5868 , MAX(CASE t.Time WHEN 11 THEN t.MaxPlayerCount ELSE 0 END) AS H11
5869 , MAX(CASE t.Time WHEN 12 THEN t.MaxPlayerCount ELSE 0 END) AS H12
5870 , MAX(CASE t.Time WHEN 13 THEN t.MaxPlayerCount ELSE 0 END) AS H13
5871 , MAX(CASE t.Time WHEN 14 THEN t.MaxPlayerCount ELSE 0 END) AS H14
5872 , MAX(CASE t.Time WHEN 15 THEN t.MaxPlayerCount ELSE 0 END) AS H15
5873 , MAX(CASE t.Time WHEN 16 THEN t.MaxPlayerCount ELSE 0 END) AS H16
5874 , MAX(CASE t.Time WHEN 17 THEN t.MaxPlayerCount ELSE 0 END) AS H17
5875 , MAX(CASE t.Time WHEN 18 THEN t.MaxPlayerCount ELSE 0 END) AS H18
5876 , MAX(CASE t.Time WHEN 19 THEN t.MaxPlayerCount ELSE 0 END) AS H19
5877 , MAX(CASE t.Time WHEN 20 THEN t.MaxPlayerCount ELSE 0 END) AS H20
5878 , MAX(CASE t.Time WHEN 21 THEN t.MaxPlayerCount ELSE 0 END) AS H21
5879 , MAX(CASE t.Time WHEN 22 THEN t.MaxPlayerCount ELSE 0 END) AS H22
5880 , MAX(CASE t.Time WHEN 23 THEN t.MaxPlayerCount ELSE 0 END) AS H23
5881 , SUM(t.MaxPlayerCount) / 24 AS 'AVG'
5882 FROM (
5883 SELECT sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time)) AS Time, MAX(PlayerCount) as MaxPlayerCount
5884 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
5885 WHERE (sls.Time BETWEEN @StartDate AND @EndDate)
5886 AND (sls.ServerID BETWEEN @StartServerID AND @EndServerID)
5887 AND ss.ServerID = sls.ServerID
5888 GROUP BY sls.ServerID, ss.ServerName, DATEPART(hh, DATEADD(mi, -1, sls.Time))
5889 ) AS t
5890 GROUP BY t.ServerID, t.ServerName
5891 ORDER BY t.ServerID
5892
5893
5894
5895
5896
5897GO
5898/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogMaxTimeDay] Script Date: 28-05-2018 18:12:28 ******/
5899SET ANSI_NULLS ON
5900GO
5901SET QUOTED_IDENTIFIER ON
5902GO
5903
5904
5905-------------------------------------------------------------------------------------------------------------
5906
5907CREATE PROC [dbo].[spAdmWebGetServerLogMaxTimeDay]
5908 @ServerType tinyint
5909, @StartDate smalldatetime
5910, @EndDate smalldatetime
5911AS
5912 SET NOCOUNT ON
5913
5914 IF @StartDate > @EndDate RETURN
5915
5916 DECLARE @TmpStartDate smalldatetime
5917 DECLARE @TmpEndDate smalldatetime
5918 DECLARE @RangeStartDate smalldatetime
5919 DECLARE @RangeEndDate smalldatetime
5920 DECLARE @DayDiff int
5921 DECLARE @StartServerID tinyint
5922 DECLARE @EndServerID tinyint
5923 DECLARE @LiveServerCount tinyint
5924 DECLARE @Date smalldatetime
5925 DECLARE @Query varchar(8000)
5926
5927 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
5928 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
5929
5930 IF @StartDate < @TmpStartDate
5931 SET @StartDate = @TmpStartDate
5932 IF @EndDate > @TmpEndDate
5933 SET @EndDate = @TmpEndDate
5934
5935 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
5936 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
5937 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
5938
5939 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
5940 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
5941 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
5942 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
5943 ELSE IF 4 = @ServerType RETURN-- event
5944 ELSE RETURN
5945
5946SELECT @LiveServerCount = COUNT(ServerID)
5947 FROM ServerStatus(NOLOCK)
5948 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
5949
5950 SET @Query = 'SELECT
5951 t.TimeGroup AS TimeGroup, '
5952
5953 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
5954 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
5955 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
5956
5957 WHILE @Date <= @RangeEndDate BEGIN
5958 SET @Query = @Query + 'MAX(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
5959 + ' THEN t.MaxPlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
5960 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
5961
5962 SET @Date = DATEADD(dd, 1, @Date)
5963 IF @Date > @RangeEndDate BREAK
5964 SET @Query = @Query + ', '
5965 END
5966
5967 SET @Query = @Query + ', SUM(t.MaxPlayerCount) / ' + CAST(@DayDiff AS varchar(8)) + ' AS AVG
5968 FROM
5969 (
5970SELECT tt.Date, tt.TimeGroup, SUM(tt.MaxPlayerCount) as MaxPlayerCount
5971 FROM
5972 (
5973 SELECT ServerID, DATEPART(dd, DATEADD(mi, -1, Time)) as Date
5974 ,DATEPART(hh, DATEADD(mi, -1, Time)) AS TimeGroup,
5975 MAX(PlayerCount) AS MaxPlayerCount
5976 FROM LogDB.game.ServerLogStorage(NOLOCK)
5977 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
5978 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
5979 varchar(8)) + '
5980 GROUP BY ServerID, DATEPART(dd, DATEADD(mi, -1,Time))
5981 , DATEPART(hh, DATEADD(mi, -1, Time))
5982 ) AS tt
5983GROUP BY tt.Date, tt.TimeGroup
5984) AS t
5985 GROUP BY t.TimeGroup
5986 ORDER BY CAST(t.TimeGroup AS float)'
5987
5988 EXEC(@Query)
5989
5990
5991
5992
5993
5994GO
5995/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogServerIDDay] Script Date: 28-05-2018 18:12:28 ******/
5996SET ANSI_NULLS ON
5997GO
5998SET QUOTED_IDENTIFIER ON
5999GO
6000
6001
6002
6003
6004----------------------------------------------------------------------------------------------------------------------
6005
6006CREATE PROC [dbo].[spAdmWebGetServerLogServerIDDay]
6007 @ServerType tinyint
6008, @StartDate smalldatetime
6009, @EndDate smalldatetime
6010AS
6011 SET NOCOUNT ON
6012
6013 IF @StartDate > @EndDate RETURN
6014
6015 DECLARE @TmpStartDate smalldatetime
6016 DECLARE @TmpEndDate smalldatetime
6017 DECLARE @RangeStartDate smalldatetime
6018 DECLARE @RangeEndDate smalldatetime
6019 DECLARE @DayDiff int
6020 DECLARE @StartServerID tinyint
6021 DECLARE @EndServerID tinyint
6022 DECLARE @LiveServerCount tinyint
6023 DECLARE @Date smalldatetime
6024 DECLARE @Query varchar(8000)
6025
6026 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6027 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6028
6029 IF @StartDate < @TmpStartDate
6030 SET @StartDate = @TmpStartDate
6031 IF @EndDate > @TmpEndDate
6032 SET @EndDate = @TmpEndDate
6033
6034 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6035 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6036 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6037
6038 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6039 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6040 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6041 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6042 ELSE IF 4 = @ServerType RETURN-- event
6043 ELSE RETURN
6044
6045 SELECT @LiveServerCount = COUNT(ServerID)
6046 FROM ServerStatus(NOLOCK)
6047 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6048
6049 SET @Query = 'SELECT sls.ServerID, ss.ServerName, '
6050
6051 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6052 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6053 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6054
6055 WHILE @Date <= @RangeEndDate BEGIN
6056 SET @Query = @Query + '(SUM(CASE DATEPART(dd, DATEADD(mi, -1, sls.Time)) WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6057 + ' THEN sls.PlayerCount ELSE 0 END) / 1440) AS ' + '''' + 'Day'
6058 + CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6059
6060 SET @Date = DATEADD(dd, 1, @Date)
6061 IF @Date > @RangeEndDate BREAK
6062 SET @Query = @Query + ', '
6063 END
6064
6065 SET @Query = @Query + ', SUM(sls.PlayerCount) / ' + CAST((@DayDiff * 1440) AS varchar(8)) + ' AS AVG
6066 FROM LogDB.game.ServerLogStorage sls(NOLOCK), ServerStatus ss(NOLOCK)
6067 WHERE sls.ServerID < 200 AND sls.ServerID >= ' + CAST(@StartServerID AS varchar(4))
6068 + ' AND sls.ServerID <= ' + CAST(@EndServerID AS varchar(4))
6069 + ' AND sls.Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + '
6070 AND sls.Time <= ' + '''' + CAST(@EndDate AS varchar(64)) + ''''
6071 + ' AND ss.ServerID = sls.ServerID
6072 GROUP BY sls.ServerID, ss.ServerName
6073 ORDER BY sls.ServerID'
6074
6075 EXEC (@Query)
6076
6077
6078
6079
6080
6081
6082GO
6083/****** Object: StoredProcedure [dbo].[spAdmWebGetServerLogTimeDay] Script Date: 28-05-2018 18:12:28 ******/
6084SET ANSI_NULLS ON
6085GO
6086SET QUOTED_IDENTIFIER ON
6087GO
6088
6089CREATE PROC [dbo].[spAdmWebGetServerLogTimeDay]
6090 @ServerType tinyint
6091, @StartDate smalldatetime
6092, @EndDate smalldatetime
6093AS
6094 SET NOCOUNT ON
6095
6096 IF @StartDate > @EndDate RETURN
6097
6098 DECLARE @TmpStartDate smalldatetime
6099 DECLARE @TmpEndDate smalldatetime
6100 DECLARE @RangeStartDate smalldatetime
6101 DECLARE @RangeEndDate smalldatetime
6102 DECLARE @DayDiff int
6103 DECLARE @StartServerID tinyint
6104 DECLARE @EndServerID tinyint
6105 DECLARE @LiveServerCount tinyint
6106 DECLARE @Date smalldatetime
6107 DECLARE @Query varchar(8000)
6108
6109 SELECT TOP 1 @TmpStartDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time
6110 SELECT TOP 1 @TmpEndDate = Time FROM LogDB.game.ServerLogStorage(NOLOCK) ORDER BY Time DESC
6111
6112 IF @StartDate < @TmpStartDate
6113 SET @StartDate = @TmpStartDate
6114 IF @EndDate > @TmpEndDate
6115 SET @EndDate = @TmpEndDate
6116
6117 SET @RangeStartDate = DATEADD(mi, -1, @StartDate)
6118 SET @RangeEndDate = DATEADD(mi, -1, @EndDate)
6119 SET @DayDiff = DATEDIFF(dd, @RangeStartDate, @RangeEndDate) + 1
6120
6121 IF 0 = @ServerType SELECT @StartServerID = 1, @EndServerID = 255 -- all
6122 ELSE IF 1 = @ServerType SELECT @StartServerID = 1, @EndServerID = 49 -- normal
6123 ELSE IF 2 = @ServerType SELECT @StartServerID = 50, @EndServerID = 99 -- clan
6124 ELSE IF 3 = @ServerType SELECT @STartServerID = 100, @EndServerID = 149 -- quest
6125 ELSE IF 4 = @ServerType RETURN-- event
6126 ELSE RETURN
6127
6128
6129 SELECT @LiveServerCount = COUNT(ServerID)
6130 FROM ServerStatus(NOLOCK)
6131 WHERE ServerID >= @StartServerID AND ServerID <= @EndServerID AND Opened <> 0
6132
6133 SET @Query = 'SELECT t.TimeGroup, '
6134
6135 -- ë‚ ì§œë§Œì„ ë¹„êµí•˜ê¸° 위해서 시간과 ë¶„ì€ 0으로 ì„¤ì •í•¨.
6136 SET @Date = DATEADD(hh, DATEPART(hh, @RangeStartDate) * -1, @RangeStartDate)
6137 SET @Date = DATEADD(mi, DATEPART(mi, @RangeStartDate) * -1, @Date)
6138
6139 WHILE @Date <= @RangeEndDate BEGIN
6140 SET @Query = @Query + 'SUM(CASE t.Date WHEN ' + CAST(DATEPART(dd, @Date) AS varchar(8))
6141 + ' THEN t.PlayerCount ELSE 0 END) AS ' + '''' + 'Day' +
6142 CAST(DATEPART(dd, @Date) AS varchar(8)) + ''''
6143
6144 SET @Date = DATEADD(dd, 1, @Date)
6145 IF @Date > @RangeEndDate BREAK
6146 SET @Query = @Query + ', '
6147 END
6148
6149 SET @Query = @Query + ', SUM(t.PlayerCount) / ' + CAST((@DayDiff ) AS varchar(8)) + ' AS AVG FROM
6150 (
6151 SELECT tt.Date, tt.TimeGroup as TimeGroup,SUM(tt.PlayerCount ) as PlayerCount
6152 FROM
6153 (
6154 SELECT SUM(PlayerCount ) /60 as PlayerCount, ServerID
6155 ,DATEPART(dd, Time) as Date
6156 ,DATEPART(hh, DATEADD(mi, -1, Time)) as TimeGroup
6157 FROM LogDB.game.ServerLogStorage(NOLOCK)
6158 WHERE Time >= ' + '''' + CAST(@StartDate AS varchar(64)) + '''' + ' AND Time <= ' + '''' + CAST(@EndDate AS
6159 varchar(64)) + '''' + ' AND ServerID >= ' + CAST(@StartServerID AS varchar(8)) + ' AND ServerID <= ' + CAST(@EndServerID AS
6160 varchar(8)) + '
6161 GROUP BY DATEPART(dd, Time), DATEPART(hh, DATEADD(mi, -1, Time)), ServerID
6162
6163 ) as tt
6164 GROUP BY tt.Date, tt.TimeGroup
6165 ) AS t
6166 GROUP BY t.TimeGroup
6167 ORDER BY t.TimeGroup'
6168
6169 EXEC (@Query)
6170
6171
6172
6173
6174GO
6175/****** Object: StoredProcedure [dbo].[spAdmWebGetSetItemPurchaseLogByCash] Script Date: 28-05-2018 18:12:28 ******/
6176SET ANSI_NULLS ON
6177GO
6178SET QUOTED_IDENTIFIER ON
6179GO
6180
6181CREATE PROC [dbo].[spAdmWebGetSetItemPurchaseLogByCash]
6182 @AID int
6183AS
6184 SET NOCOUNT ON
6185 SELECT sipl.id, a.UserID AS SenderUserID, a.UserID AS ReceiverUserID
6186 , css.Name AS ItemName, sipl.Date, sipl.Cash
6187 , CASE ISNULL(sipl.RentHourPeriod, 0)
6188 WHEN 0 THEN '0'
6189 ELSE CAST(sipl.RentHourPeriod AS varchar(10))
6190 END AS 'RentHourPeriod'
6191 FROM (Account a(NOLOCK) JOIN SetItemPurchaseLogByCash sipl(NOLOCK)
6192 ON a.AID = @AID AND sipl.AID = a.AID) JOIN CashSetShop css(NOLOCK)
6193 ON css.CSSID = sipl.CSSID
6194 ORDER BY Date DESC
6195
6196
6197
6198
6199GO
6200/****** Object: StoredProcedure [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName] Script Date: 28-05-2018 18:12:28 ******/
6201SET ANSI_NULLS ON
6202GO
6203SET QUOTED_IDENTIFIER ON
6204GO
6205
6206CREATE PROC [dbo].[spAdmWebGetSimpleLiveCharInfoByOneCharName]
6207 @CharName varchar( 24 )
6208AS
6209 SET NOCOUNT ON
6210
6211 DECLARE @AID int
6212
6213 SELECT @AID = a.AID
6214 FROM Character c(NOLOCK) JOIN Account a(NOLOCK)
6215 ON c.Name = @CharName AND a.AID = c.AID
6216
6217 IF @AID IS NULL RETURN
6218
6219 SELECT Name, CID FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6220 ORDER BY CharNum
6221
6222
6223
6224
6225GO
6226/****** Object: StoredProcedure [dbo].[spAdmWebGetUniqueQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
6227SET ANSI_NULLS ON
6228GO
6229SET QUOTED_IDENTIFIER ON
6230GO
6231
6232CREATE PROC [dbo].[spAdmWebGetUniqueQuestItemInfo]
6233 @CID int
6234AS
6235 SET NOCOUNT ON
6236
6237 SELECT qi.Name, qgl.StartTime, qgl.EndTime
6238 FROM QuestGameLog qgl(NOLOCK), QUniqueItemLog qul(NOLOCK), QuestItem qi(NOLOCK)
6239 WHERE qgl.ID = qul.QGLID AND qul.QIID = qi.QIID AND qul.CID = @CID
6240 ORDER BY qgl.StartTime DESC
6241
6242
6243
6244
6245GO
6246/****** Object: StoredProcedure [dbo].[spAdmWebGetUV] Script Date: 28-05-2018 18:12:28 ******/
6247SET ANSI_NULLS ON
6248GO
6249SET QUOTED_IDENTIFIER ON
6250GO
6251
6252CREATE PROC [dbo].[spAdmWebGetUV]
6253 @StartDate smalldatetime
6254, @EndDate smalldatetime
6255AS
6256 SET NOCOUNT ON
6257
6258 IF @StartDate > @EndDate RETURN
6259 IF 3 < DATEDIFF(dd, @StartDate, @EndDate) RETURN
6260
6261 SELECT t.Time, COUNT(t.AID) as UCount
6262 FROM
6263 (
6264 SELECT AID, CONVERT(char(10),Time,120) as Time
6265 FROM LogDB.game.ConnLog(NOLOCK)
6266 WHERE time >= @StartDate and time <= @EndDate
6267 GROUP BY AID, CONVERT(char(10),Time,120)
6268 ) as t
6269 GROUP BY t.Time
6270 ORDER BY t.Time
6271
6272
6273
6274
6275GO
6276/****** Object: StoredProcedure [dbo].[spAdmWebInsertAccountItem] Script Date: 28-05-2018 18:12:28 ******/
6277SET ANSI_NULLS ON
6278GO
6279SET QUOTED_IDENTIFIER ON
6280GO
6281
6282CREATE PROC [dbo].[spAdmWebInsertAccountItem]
6283 @AID int
6284, @ItemID int
6285, @Period int
6286, @GMID varchar(20)
6287, @Ret int OUTPUT
6288AS
6289 SET NOCOUNT ON
6290 IF (500001 > @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6291 SET @Ret = 0
6292 RETURN @Ret
6293 END
6294
6295 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6296 SET @Ret = 0
6297 RETURN @Ret
6298 END
6299
6300 DECLARE @RentHourPeriod int
6301 DECLARE @RentDate datetime
6302
6303 IF (0 = @Period) OR (@Period IS NULL)
6304 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6305 ELSE
6306 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6307
6308 INSERT INTO AccountItem( AID, ItemID, RentDate, RentHourPeriod)
6309 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod )
6310 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6311 SET @Ret = 0
6312 RETURN @Ret
6313 END
6314
6315 SET @Ret = 1
6316 RETURN @Ret
6317
6318
6319
6320
6321GO
6322/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6323SET ANSI_NULLS ON
6324GO
6325SET QUOTED_IDENTIFIER ON
6326GO
6327
6328CREATE PROC [dbo].[spAdmWebInsertCashSetShopItem]
6329 @Name varchar(64)
6330, @ResSex tinyint
6331, @ResLevel int
6332, @Weight int
6333, @Description varchar(1024)
6334, @Opened tinyint
6335, @CashPrice int
6336, @WebImgName varchar(64)
6337, @RentType tinyint
6338, @Ret int OUTPUT
6339AS
6340 SET NOCOUNT ON
6341 IF (@Name IS NULL) OR (@ResSex IS NULL) OR (@ResLevel IS NULL)
6342 OR (@Weight IS NULL) OR (@Description IS NULL) OR (@Opened IS NULL)
6343 OR (@CashPrice IS NULL) OR (@WebImgName IS NULL) BEGIN
6344 SET @Ret = 0
6345 RETURN @Ret
6346 END
6347
6348 declare @cssid int
6349 select @cssid = max(cssid) + 1 from CashSetShop(nolock)
6350
6351 INSERT INTO CashSetShop(cssid, Name, ResSex, ResLevel, Weight, Description, Opened,
6352 CashPrice, WebImgName, RentType, RegDate)
6353 VALUES (@cssid, @Name, @ResSex, @ResLevel, @Weight, @Description, @Opened,
6354 @CashPrice, @WebImgName, @RentType, GETDATE())
6355 IF 0 <> @@ERROR BEGIN
6356 SET @Ret = 0
6357 RETURN @Ret
6358 END
6359
6360 SET @Ret = @cssid
6361 RETURN @Ret
6362
6363
6364
6365
6366
6367GO
6368/****** Object: StoredProcedure [dbo].[spAdmWebInsertCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6369SET ANSI_NULLS ON
6370GO
6371SET QUOTED_IDENTIFIER ON
6372GO
6373
6374CREATE PROC [dbo].[spAdmWebInsertCashShopItem]
6375 @ItemID int
6376, @Opened tinyint
6377, @CashPrice int
6378, @WebImgName varchar(64)
6379, @RentType tinyint
6380, @Ret int OUTPUT
6381AS
6382 SET NOCOUNT ON
6383 IF (@ItemID IS NULL) OR (500000 > @ItemID) OR (@Opened IS NULL)
6384 OR (@CashPrice IS NULL) BEGIN
6385 SET @Ret = 0
6386 RETURN @Ret
6387 END
6388
6389 declare @csid int
6390
6391 select @csid = max(csid) + 1 from CashShop(nolock)
6392
6393 INSERT INTO CashShop(csid, ItemID, Opened, CashPrice, WebImgName, RegDate, RentType )
6394 VALUES (@csid, @ItemID, @Opened, @CashPrice, @WebImgName, GETDATE(), @RentType)
6395 IF 0 <> @@ERROR BEGIN
6396 SET @Ret = 0
6397 RETURN @Ret
6398 END
6399
6400 SET @Ret = @csid
6401 RETURN @Ret
6402
6403
6404
6405
6406
6407GO
6408/****** Object: StoredProcedure [dbo].[spAdmWebInsertCharacterItem] Script Date: 28-05-2018 18:12:28 ******/
6409SET ANSI_NULLS ON
6410GO
6411SET QUOTED_IDENTIFIER ON
6412GO
6413
6414CREATE PROC [dbo].[spAdmWebInsertCharacterItem]
6415 @CID int
6416, @ItemID int
6417, @Period smallint
6418, @GMID varchar(20)
6419, @Ret int OUTPUT
6420AS
6421 SET NOCOUNT ON
6422 IF (500000 < @ItemID) OR ((@Period IS NOT NULL) AND (0 > @Period)) BEGIN
6423 SET @Ret = 0
6424 RETURN @Ret
6425 END
6426
6427 IF NOT EXISTS( SELECT CID FROM Character(NOLOCK) WHERE CID = @CID) BEGIN
6428 SET @Ret = 0
6429 RETURN @Ret
6430 END
6431
6432 DECLARE @RentHourPeriod smallint
6433 DECLARE @RentDate datetime
6434
6435 IF (0 = @Period) OR (@Period IS NULL)
6436 SELECT @RentHourPeriod = NULL, @RentDate = NULL
6437 ELSE
6438 SELECT @RentHourPeriod = @Period, @RentDate = GETDATE()
6439
6440 INSERT INTO CharacterItem( CID, ItemID, RegDate, RentDate, RentHourPeriod )
6441 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod )
6442 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
6443 SET @Ret = 0
6444 RETURN @Ret
6445 END
6446
6447 SET @Ret = 1
6448 RETURN @Ret
6449
6450
6451
6452
6453GO
6454/****** Object: StoredProcedure [dbo].[spAdmWebInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
6455SET ANSI_NULLS ON
6456GO
6457SET QUOTED_IDENTIFIER ON
6458GO
6459
6460/*
6461 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
6462 */
6463CREATE PROC [dbo].[spAdmWebInsertCustomIP]
6464 @IPFrom varchar(15)
6465, @IPTo varchar(15)
6466, @IsBlock tinyint
6467, @CountryCode3 char(3)
6468, @Comment varchar(128)
6469, @Ret int OUTPUT
6470AS
6471 SET NOCOUNT ON
6472 DECLARE @DupRet int
6473 DECLARE @TmpIPFrom BIGINT
6474 DECLARE @TmpIPTo BIGINT
6475
6476 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
6477 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
6478 IF @TmpIPFrom > @TmpIPTo BEGIN
6479 SET @Ret = 3
6480 RETURN @Ret
6481 END
6482
6483 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
6484 IF 1 = @DupRet BEGIN
6485 SET @Ret = 2
6486 RETURN @Ret
6487 END
6488
6489 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
6490 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
6491 IF 0 <> @@ERROR SET @Ret = 0
6492 ELSE SET @Ret = 1
6493 RETURN @Ret
6494
6495
6496
6497
6498
6499GO
6500/****** Object: StoredProcedure [dbo].[spAdmWebInsertOneCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
6501SET ANSI_NULLS ON
6502GO
6503SET QUOTED_IDENTIFIER ON
6504GO
6505
6506CREATE PROC [dbo].[spAdmWebInsertOneCashSetItem]
6507 @CSSID int
6508, @CSID int
6509, @Ret int OUTPUT
6510AS
6511 SET NOCOUNT ON
6512 IF (@CSSID IS NULL) OR (@CSID IS NULL) BEGIN
6513 SET @Ret = 0
6514 RETURN @Ret
6515 END
6516
6517 INSERT INTO CashSetItem(CSSID, CSID) VALUES (@CSSID, @CSID)
6518 IF 0 <> @@ERROR BEGIN
6519 SET @Ret = 0
6520 RETURN @Ret
6521 END
6522
6523 SET @Ret = 1
6524 RETURN @Ret
6525
6526
6527
6528
6529GO
6530/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6531SET ANSI_NULLS ON
6532GO
6533SET QUOTED_IDENTIFIER ON
6534GO
6535
6536CREATE PROC [dbo].[spAdmWebInsertRentCashSetShopPrice]
6537 @CSSID int
6538, @RentHourPeriod int
6539, @CashPrice int
6540, @Ret int OUTPUT
6541AS
6542 SET NOCOUNT ON
6543 IF (@CSSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6544 SET @Ret = 0
6545 RETURN @Ret
6546 END
6547
6548 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6549
6550 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
6551 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
6552 IF 0 <> @@ERROR BEGIN
6553 SET @Ret = 0
6554 RETURN @Ret
6555 END
6556
6557 SET @Ret = 1
6558 RETURN @Ret
6559
6560
6561
6562
6563GO
6564/****** Object: StoredProcedure [dbo].[spAdmWebInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
6565SET ANSI_NULLS ON
6566GO
6567SET QUOTED_IDENTIFIER ON
6568GO
6569
6570CREATE PROC [dbo].[spAdmWebInsertRentCashShopPrice]
6571 @CSID int
6572, @RentHourPeriod int
6573, @CashPrice int
6574, @Ret int OUTPUT
6575AS
6576 SET NOCOUNT ON
6577
6578 IF (@CSID IS NULL) OR (@CashPrice IS NULL) BEGIN
6579 SET @Ret = 0
6580 RETURN @Ret
6581 END
6582
6583 IF 0 = @RentHourPeriod SET @RentHourPeriod = NULL
6584
6585 INSERT INTO RentCashShopPrice(CSID, RentHourPeriod, CashPrice)
6586 VALUES (@CSID, @RentHourPeriod, @CashPrice)
6587 IF 0 <> @@ERROR BEGIN
6588 SET @Ret = 0
6589 RETURN @Ret
6590 END
6591 SET @Ret = 1
6592 RETURN @Ret
6593
6594
6595
6596
6597GO
6598/****** Object: StoredProcedure [dbo].[spAdmWebInsertSetItem] Script Date: 28-05-2018 18:12:28 ******/
6599SET ANSI_NULLS ON
6600GO
6601SET QUOTED_IDENTIFIER ON
6602GO
6603
6604CREATE PROC [dbo].[spAdmWebInsertSetItem]
6605 @UserID varchar( 20 )
6606, @CSSID int
6607, @RentHourPeriod smallint
6608, @GMID varchar(20)
6609, @Ret int OUTPUT
6610AS
6611 SET NOCOUNT ON
6612
6613 DECLARE @AID int
6614
6615 SELECT @AID = AID FROM Account WHERE UserID = @UserID
6616
6617 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
6618 IF @AID IS NULL
6619 BEGIN
6620 SET @Ret = 0
6621 RETURN @Ret
6622 END
6623 ELSE
6624 BEGIN
6625 DECLARE @RentDate datetime
6626
6627 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
6628 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
6629 BEGIN
6630 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
6631 DECLARE @RentType TINYINT
6632 DECLARE @RCSSPID INT
6633
6634 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
6635 IF @RentType = 1
6636 BEGIN
6637 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
6638 IF @RCSSPID IS NULL
6639 BEGIN
6640 SET @Ret = 0
6641 RETURN @Ret
6642 END
6643 END
6644
6645 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
6646 SET @RentDate = NULL
6647 END
6648 ELSE
6649 BEGIN
6650 SET @RentDate = GETDATE()
6651 END
6652
6653 BEGIN TRAN
6654
6655 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
6656
6657 FOR
6658 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
6659 FOR READ ONLY
6660
6661 OPEN curBuyCashSetItem
6662
6663 DECLARE @varCSID int
6664 DECLARE @ItemID int
6665
6666 FETCH FROM curBuyCashSetItem INTO @varCSID
6667
6668 WHILE @@FETCH_STATUS = 0
6669 BEGIN
6670 SELECT @ItemID = cs.ItemID
6671 FROM CashShop cs (NOLOCK)
6672 WHERE cs.CSID = @varCSID
6673
6674 IF @ItemID IS NOT NULL
6675 BEGIN
6676 -- ì•„ì´í…œ ìƒì„±.
6677 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
6678 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
6679 END
6680
6681 FETCH curBuyCashSetItem INTO @varCSID
6682 END
6683
6684 CLOSE curBuyCashSetItem
6685 DEALLOCATE curBuyCashSetItem
6686
6687 -- GM로그 기ë¡.
6688
6689 COMMIT TRAN
6690 SET @Ret = 1
6691 RETURN @Ret
6692 END
6693
6694
6695
6696
6697
6698GO
6699/****** Object: StoredProcedure [dbo].[spAdmWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
6700SET ANSI_NULLS ON
6701GO
6702SET QUOTED_IDENTIFIER ON
6703GO
6704
6705CREATE PROC [dbo].[spAdmWebItemUseLog]
6706 @UserID VARCHAR(32)
6707AS
6708BEGIN
6709 SET NOCOUNT ON
6710 DECLARE @TargetAID INT
6711 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
6712
6713 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
6714 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
6715 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
6716 ORDER BY Date DESC
6717END
6718
6719
6720
6721
6722
6723GO
6724/****** Object: StoredProcedure [dbo].[spAdmWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
6725SET ANSI_NULLS ON
6726GO
6727SET QUOTED_IDENTIFIER ON
6728GO
6729
6730CREATE PROC [dbo].[spAdmWebLeaveClanByCID]
6731 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
6732, @GMID varchar(20)
6733, @Ret int OUTPUT
6734AS
6735 IF (@CID IS NULL) OR (@GMID IS NULL) BEGIN
6736 SET @Ret = 0
6737 RETURN @Ret
6738 END
6739
6740 DECLARE @CLID int
6741 DECLARE @MasterCID int
6742
6743 -- 존재하는 ì•„ì´ë””ì¸ê°€?
6744 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
6745 FROM Clan cl(NOLOCK), ClanMember cm(NOLOCK)
6746 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
6747
6748 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
6749 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL) BEGIN
6750 SET @Ret = 0
6751 RETURN @Ret
6752 END
6753
6754 DELETE ClanMember WHERE CID = @CID
6755 IF 0 <> @@ERROR
6756 BEGIN
6757 SET @Ret = 0
6758 RETURN @Ret
6759 END
6760
6761 SET @Ret = 1
6762 RETURN @Ret
6763
6764
6765
6766
6767GO
6768/****** Object: StoredProcedure [dbo].[spAdmWebUndeleteCharacter] Script Date: 28-05-2018 18:12:28 ******/
6769SET ANSI_NULLS ON
6770GO
6771SET QUOTED_IDENTIFIER ON
6772GO
6773
6774CREATE PROC [dbo].[spAdmWebUndeleteCharacter]
6775 @AID int
6776, @CID int
6777, @GMID varchar(20)
6778, @Ret int OUTPUT
6779AS
6780 SET NOCOUNT ON
6781
6782 IF EXISTS (SELECT LiveChar.CID FROM Character DelChar(NOLOCK) JOIN Character LiveChar(NOLOCK)
6783 ON DelChar.CID = @CID AND DelChar.DeleteFlag = 1 AND LiveChar.Name = DelChar.DeleteName
6784 WHERE LiveChar.DeleteFlag <> 1) BEGIN
6785 SET @Ret = 0
6786 RETURN @Ret
6787 END
6788
6789 DECLARE @CharCount int
6790
6791 SELECT @CharCount = COUNT(CID) FROM Character(NOLOCK) WHERE AID = @AID AND DeleteFlag <> 1
6792 IF 4 > @CharCount BEGIN
6793 DECLARE @FreeNum int
6794 DECLARE @tb table( a int )
6795
6796 INSERT @tb VALUES( 0 )
6797 INSERT @tb VALUES( 1 )
6798 INSERT @tb VALUES( 2 )
6799 INSERT @tb VALUES( 3 )
6800
6801 SELECT TOP 1 @FreeNum = t.a
6802 FROM @tb t LEFT OUTER JOIN Character c(NOLOCK)
6803 ON c.AID = @AID AND c.DeleteFlag <> 1 AND c.CharNum = t.a
6804 WHERE c.CharNum IS NULL
6805
6806 IF @FreeNum IS NULL BEGIN
6807 SET @Ret = 0
6808 RETURN @Ret
6809 END
6810
6811 BEGIN TRAN
6812 UPDATE Character
6813 SET Name = DeleteName, CharNum = @FreeNum, DeleteFlag = 0, DeleteName = ''
6814 WHERE CID = @CID AND AID = @AID AND DeleteFlag = 1
6815 IF 0 = @@ROWCOUNT BEGIN
6816 ROLLBACK TRAN
6817 SET @Ret = 0
6818 RETURN @Ret
6819 END
6820 COMMIT TRAN
6821 SET @Ret = 1
6822 RETURN @Ret
6823 END
6824
6825
6826
6827
6828GO
6829/****** Object: StoredProcedure [dbo].[spAdmWebUpdateAccountPenaltyPeriod] Script Date: 28-05-2018 18:12:28 ******/
6830SET ANSI_NULLS ON
6831GO
6832SET QUOTED_IDENTIFIER ON
6833GO
6834
6835CREATE PROC [dbo].[spAdmWebUpdateAccountPenaltyPeriod]
6836 @AID int
6837, @UGradeID int
6838, @Period int
6839, @GMID varchar(20)
6840, @Ret int OUTPUT
6841AS
6842 SET NOCOUNT ON
6843
6844 IF NOT EXISTS (SELECT AID FROM Account(NOLOCK) WHERE AID = @AID) BEGIN
6845 SET @Ret = 0
6846 RETURN @Ret
6847 END
6848
6849 IF (0 > @Period) OR (@Period IS NULL) OR (0 > @UGradeID) OR (@UGradeID IS NULL) BEGIN
6850 SET @Ret = 0
6851 RETURN @Ret
6852 END
6853
6854 BEGIN TRAN
6855 UPDATE Account SET UGradeID = @UGradeID WHERE AID = @AID
6856 IF 0 = @@ROWCOUNT BEGIN
6857 ROLLBACK TRAN
6858 SET @Ret = 0
6859 RETURN @Ret
6860 END
6861
6862 IF NOT EXISTS (SELECT AID FROM AccountPenaltyPeriod(NOLOCK) WHERE AID = @AID) BEGIN
6863 IF 0 < @Period BEGIN
6864 -- ì²˜ìŒ ìž¬ì œë¥¼ ë°›ì„경우.
6865 INSERT INTO AccountPenaltyPeriod( AID, DayLeft ) VALUES (@AID, @Period)
6866 IF 0 <> @@ERROR BEGIN
6867 ROLLBACK TRAN
6868 SET @Ret = 0
6869 RETURN @Ret
6870 END
6871 END
6872 END
6873 ELSE BEGIN
6874 IF 0 < @Period BEGIN
6875 -- ì´ë¯¸ 다른 ìž¬ì œë¥¼ ë°›ì„경우 기간만 ìˆ˜ì •í•¨.
6876 UPDATE AccountPenaltyPeriod SET DayLeft = @Period WHERE AID = @AID
6877 IF 0 = @@ROWCOUNT BEGIN
6878 ROLLBACK TRAN
6879 SET @Ret = 0
6880 RETURN @Ret
6881 END
6882 END
6883 ELSE BEGIN
6884 DELETE AccountPenaltyPeriod WHERE AID = @AID
6885 IF 0 <> @@ERROR BEGIN
6886 ROLLBACK TRAN
6887 SET @Ret = 0
6888 RETURN @Ret
6889 END
6890 END
6891 END
6892
6893 INSERT INTO AccountPenaltyLog( AID, UGradeID, DayLeft, RegDate, GMID )
6894 VALUES (@AID, @UGradeID, @Period, GETDATE(), @GMID )
6895 IF 0 <> @@ERROR BEGIN
6896 ROLLBACK TRAN
6897 SET @Ret = 0
6898 RETURN @Ret
6899 END
6900 COMMIT TRAN
6901
6902 SET @Ret = 1
6903 RETURN @Ret
6904
6905
6906
6907
6908GO
6909/****** Object: StoredProcedure [dbo].[spAdmWebUpdateBlockCountryCode] Script Date: 28-05-2018 18:12:28 ******/
6910SET ANSI_NULLS ON
6911GO
6912SET QUOTED_IDENTIFIER ON
6913GO
6914
6915CREATE PROC [dbo].[spAdmWebUpdateBlockCountryCode]
6916 @CountryCode3 char(3)
6917, @RoutingURL varchar(64)
6918, @IsBlock tinyint
6919, @Ret int Output
6920AS
6921 SET NOCOUNT ON
6922 UPDATE BlockCountryCode
6923 SET RoutingURL = @RoutingURL , IsBlock = @IsBlock
6924 WHERE CountryCode3 = @CountryCode3
6925 IF 0 = @@ROWCOUNT SET @Ret = 0
6926 ELSE SET @Ret = 1
6927 RETURN @Ret
6928
6929
6930
6931
6932GO
6933/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashSetShopItem] Script Date: 28-05-2018 18:12:28 ******/
6934SET ANSI_NULLS ON
6935GO
6936SET QUOTED_IDENTIFIER ON
6937GO
6938
6939CREATE PROC [dbo].[spAdmWebUpdateCashSetShopItem]
6940 @CSSID int
6941, @Name varchar(64)
6942, @ResSex tinyint
6943, @ResLevel int
6944, @Weight int
6945, @Description varchar(1024)
6946, @Opened tinyint
6947, @CashPrice int
6948, @WebImgName varchar(64)
6949, @RentType tinyint
6950, @Ret int OUTPUT
6951 AS
6952 SET NOCOUNT ON
6953 IF (@CSSID IS NULL) OR (@ResSex IS NULL) OR (@Weight IS NULL)
6954 OR (@Opened IS NULL) OR (@Description IS NULL ) OR (@CashPrice IS NULL)
6955 OR (@WebImgName IS NULL) OR (@RentType IS NULL) OR (@Name IS NULL) BEGIN
6956 SET @Ret = 0
6957 RETURN @Ret
6958 END
6959
6960 UPDATE CashSetShop
6961 SET ResSex = @ResSex, ResLevel = @ResLevel, Weight = @Weight,
6962 Description = @Description, Opened = @Opened, CashPrice = @CashPrice,
6963 WebImgName = @WebImgName, RentType = @RentType, Name = @Name
6964 WHERE CSSID = @CSSID
6965 IF 0 = @@ROWCOUNT BEGIN
6966 SET @Ret = 0
6967 RETURN
6968 END
6969
6970 SET @Ret = 1
6971 RETURN @Ret
6972
6973
6974
6975
6976GO
6977/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopItem] Script Date: 28-05-2018 18:12:28 ******/
6978SET ANSI_NULLS ON
6979GO
6980SET QUOTED_IDENTIFIER ON
6981GO
6982
6983CREATE PROC [dbo].[spAdmWebUpdateCashShopItem]
6984 @CSID int
6985, @Opened tinyint
6986, @CashPrice int
6987, @WebImgName varchar(64)
6988, @RentType tinyint
6989, @Ret int OUTPUT
6990AS
6991 UPDATE CashShop
6992 SET Opened = @Opened, CashPrice = @CashPrice, WebImgName = @WebImgName,
6993 RentType = @RentType
6994 WHERE CSID = @CSID
6995 IF 0 = @@ROWCOUNT BEGIN
6996 SET @Ret = 0
6997 RETURN @Ret
6998 END
6999
7000 SET @Ret = 1
7001 RETURN @Ret
7002
7003
7004
7005
7006GO
7007/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCashShopNewItem] Script Date: 28-05-2018 18:12:28 ******/
7008SET ANSI_NULLS ON
7009GO
7010SET QUOTED_IDENTIFIER ON
7011GO
7012
7013CREATE PROC [dbo].[spAdmWebUpdateCashShopNewItem]
7014 @NewOrder int
7015, @CSID int
7016, @CSSID int
7017, @IsSetItem int
7018, @CategoryID int
7019, @Ret int OUTPUT
7020AS
7021 SET NOCOUNT ON
7022
7023 DECLARE @Category varchar(12)
7024 SELECT @Category = Description FROM CashShopNewItemCategory(NOLOCK)
7025 WHERE CategoryID = @CategoryID
7026
7027 IF 0 = @IsSetItem BEGIN
7028 UPDATE CashShopNewItem
7029 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7030 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = i.Name,
7031 ResSex = i.ResSex, ResLevel = i.ResLevel, CashPrice = cs.CashPrice,
7032 WebImgName = cs.WebImgName, RegDate = cs.RegDate
7033 FROM (Item i(NOLOCK) JOIN CashShop cs(NOLOCK)
7034 ON cs.CSID = @CSID AND i.ItemID = cs.ItemID)
7035 JOIN ItemSlotType ist(NOLOCK) ON ist.SlotType = i.Slot
7036 WHERE NewOrder = @NewOrder
7037 IF 0 = @@ROWCOUNT BEGIN
7038 SET @Ret = 0
7039 RETURN @Ret
7040 END
7041 END
7042 ELSE IF 1 = @IsSetItem BEGIN
7043 UPDATE CashShopNewItem
7044 SET Category = @Category, NewOrder = @NewOrder, IsSetItem = @IsSetItem,
7045 CSID = @CSID, CSSID = @CSSID, Slot = ist.Description, Name = css.Name,
7046 ResSex = css.ResSex, ResLevel = css.ResLevel, CashPrice = css.CashPrice,
7047 WebImgName = css.WebImgName, RegDate = css.RegDate
7048 FROM CashSetShop css(NOLOCK) JOIN ItemSlotType ist(NOLOCK)
7049 ON css.CSSID = @CSSID AND ist.SlotType = 10
7050 WHERE NewOrder = @NewOrder
7051 IF 0 = @@ROWCOUNT BEGIN
7052 SET @Ret = 0
7053 RETURN @Ret
7054 END
7055 END
7056
7057 SET @Ret = 1
7058 RETURN @Ret
7059
7060
7061
7062
7063
7064GO
7065/****** Object: StoredProcedure [dbo].[spAdmWebUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
7066SET ANSI_NULLS ON
7067GO
7068SET QUOTED_IDENTIFIER ON
7069GO
7070
7071/*
7072 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
7073 */
7074CREATE PROC [dbo].[spAdmWebUpdateCustomIP]
7075 @IPFrom varchar(15)
7076, @IPTo varchar(15)
7077, @NewIPFrom varchar(15)
7078, @NewIPTo varchar(15)
7079, @IsBlock tinyint
7080, @CountryCode3 char(3)
7081, @Comment varchar(128)
7082, @Ret int OUTPUT
7083AS
7084 SET NOCOUNT ON
7085 DECLARE @DupRet bigint
7086 DECLARE @TmpIPFrom BIGINT
7087 DECLARE @TmpIPTo BIGINT
7088 DECLARE @TmpNewIPFrom bigint
7089 DECLARE @TmpNewIPTo bigint
7090
7091 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
7092 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
7093
7094 IF @TmpIPFrom > @TmpIPTo BEGIN
7095 SET @Ret = 3
7096 RETURN @Ret
7097 END
7098
7099 SET @TmpNewIPFrom = TestDB.game.inet_aton( @NewIPFrom )
7100 SET @TmpNewIPTo = TestDB.game.inet_aton( @NewIPTo )
7101
7102 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
7103 SET @Ret = 0
7104 RETURN @Ret
7105 END
7106
7107 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
7108 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
7109 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
7110 IF 1 = @DupRet BEGIN
7111 SET @Ret = 2
7112 RETURN @Ret
7113 END
7114 END
7115
7116 UPDATE CustomIP
7117 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
7118 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
7119 Comment = @Comment
7120 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
7121 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
7122 ELSE SET @Ret = 1
7123 RETURN @Ret
7124
7125
7126
7127
7128
7129GO
7130/****** Object: StoredProcedure [dbo].[spAdmWebUpdateQuestItemInfo] Script Date: 28-05-2018 18:12:28 ******/
7131SET ANSI_NULLS ON
7132GO
7133SET QUOTED_IDENTIFIER ON
7134GO
7135
7136CREATE PROC [dbo].[spAdmWebUpdateQuestItemInfo]
7137 @CID int
7138, @QuestItemInfo binary(292)
7139AS
7140 SET NOCOUNT ON
7141 UPDATE Character
7142 SET QuestItemInfo = @QuestItemInfo
7143 WHERE CID = @CID
7144
7145
7146
7147
7148GO
7149/****** Object: StoredProcedure [dbo].[spBringAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7150SET ANSI_NULLS ON
7151GO
7152SET QUOTED_IDENTIFIER ON
7153GO
7154
7155
7156-- ì°½ê³ ì•„ì´í…œ ë‚´ ìºë¦í„°ë¡œ ê°€ì ¸ì˜¤ê¸° ----------
7157CREATE PROC [dbo].[spBringAccountItem]
7158 @AID int,
7159 @CID int,
7160 @AIID int
7161AS
7162SET NoCount On
7163
7164DECLARE @ItemID int
7165DECLARE @CAID int
7166DECLARE @OrderCIID int
7167
7168DECLARE @RentDate DATETIME
7169DECLARE @RentHourPeriod SMALLINT
7170DECLARE @Cnt SMALLINT
7171
7172SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7173FROM AccountItem WHERE AIID = @AIID
7174
7175
7176SELECT @CAID = AID FROM Character WHERE CID=@CID
7177
7178IF @ItemID IS NOT NULL AND @CAID = @AID
7179BEGIN
7180 BEGIN TRAN ----------------
7181 DELETE FROM AccountItem WHERE AIID = @AIID
7182 IF 0 <> @@ERROR BEGIN
7183 ROLLBACK TRAN
7184 RETURN
7185 END
7186
7187 INSERT INTO CharacterItem (CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
7188 VALUES (@CID, @ItemID, GETDATE(), @RentDate, @RentHourPeriod, @Cnt)
7189 IF 0 <> @@ERROR BEGIN
7190 ROLLBACK TRAN
7191 RETURN
7192 END
7193
7194 SET @OrderCIID = @@IDENTITY
7195
7196 INSERT INTO BringAccountItemLog (ItemID, AID, CID, Date)
7197 VALUES (@ItemID, @AID, @CID, GETDATE())
7198 IF 0 <> @@ERROR BEGIN
7199 ROLLBACK TRAN
7200 RETURN
7201 END
7202
7203 COMMIT TRAN ---------------
7204
7205 SELECT @OrderCIID AS ORDERCIID, @ItemID AS ItemID, (@RentHourPeriod*60) - (DateDiff(n, @RentDate, GETDATE())) AS RentPeriodRemainder
7206END
7207
7208
7209
7210
7211
7212
7213GO
7214/****** Object: StoredProcedure [dbo].[spBringBackAccountItem] Script Date: 28-05-2018 18:12:28 ******/
7215SET ANSI_NULLS ON
7216GO
7217SET QUOTED_IDENTIFIER ON
7218GO
7219
7220
7221-- ë‚´ ìºë¦í„° ìºì‰¬ì•„ì´í…œì„ ì°½ê³ ì— ë„£ê¸° ---------
7222CREATE PROC [dbo].[spBringBackAccountItem]
7223 @AID int,
7224 @CID int,
7225 @CIID int
7226AS
7227SET NOCOUNT ON
7228
7229DECLARE @ItemID int
7230DECLARE @RentDate DATETIME
7231DECLARE @RentHourPeriod SMALLINT
7232DECLARE @Cnt SMALLINT
7233
7234DECLARE @HeadCIID int
7235DECLARE @ChestCIID int
7236DECLARE @HandsCIID int
7237DECLARE @LegsCIID int
7238DECLARE @FeetCIID int
7239DECLARE @FingerLCIID int
7240DECLARE @FingerRCIID int
7241DECLARE @MeleeCIID int
7242DECLARE @PrimaryCIID int
7243DECLARE @SecondaryCIID int
7244DECLARE @Custom1CIID int
7245DECLARE @Custom2CIID int
7246
7247SELECT
7248@HeadCIID=head_slot, @ChestCIID=chest_slot, @HandsCIID=hands_slot,
7249@LegsCIID=legs_slot, @FeetCIID=feet_slot, @FingerLCIID=fingerl_slot, @FingerRCIID=fingerr_slot,
7250@MeleeCIID=melee_slot, @PrimaryCIID=primary_slot, @SecondaryCIID=secondary_slot,
7251@Custom1CIID=custom1_slot, @Custom2CIID=custom2_slot
7252FROM Character(nolock) WHERE cid=@CID AND aid=@AID
7253
7254SELECT @ItemID=ItemID, @RentDate=RentDate, @RentHourPeriod=RentHourPeriod, @Cnt=Cnt
7255FROM CharacterItem WHERE CIID=@CIID AND CID=@CID
7256
7257IF ((@ItemID IS NOT NULL) AND (@ItemID >= 400000) AND
7258 (@HeadCIID IS NULL OR @HeadCIID != @CIID) AND
7259 (@ChestCIID IS NULL OR @ChestCIID != @CIID) AND
7260 (@HandsCIID IS NULL OR @HandsCIID != @CIID) AND
7261 (@LegsCIID IS NULL OR @LegsCIID != @CIID) AND
7262 (@FeetCIID IS NULL OR @FeetCIID != @CIID) AND
7263 (@FingerLCIID IS NULL OR @FingerLCIID != @CIID) AND
7264 (@FingerRCIID IS NULL OR @FingerRCIID != @CIID) AND
7265 (@MeleeCIID IS NULL OR @MeleeCIID != @CIID) AND
7266 (@PrimaryCIID IS NULL OR @PrimaryCIID != @CIID) AND
7267 (@SecondaryCIID IS NULL OR @SecondaryCIID != @CIID) AND
7268 (@Custom1CIID IS NULL OR @Custom1CIID != @CIID) AND
7269 (@Custom2CIID IS NULL OR @Custom2CIID != @CIID))
7270BEGIN
7271 BEGIN TRAN -------------
7272 UPDATE CharacterItem SET CID=NULL WHERE CIID=@CIID AND CID=@CID
7273 IF 0 = @@ROWCOUNT BEGIN
7274 ROLLBACK TRAN
7275 RETURN
7276 END
7277
7278 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod, Cnt)
7279 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod, @Cnt)
7280 IF 0 <> @@ERROR BEGIN
7281 ROLLBACK TRAN
7282 RETURN
7283 END
7284 COMMIT TRAN -----------
7285END
7286
7287
7288
7289
7290
7291
7292GO
7293/****** Object: StoredProcedure [dbo].[spBuyBountyItem] Script Date: 28-05-2018 18:12:28 ******/
7294SET ANSI_NULLS ON
7295GO
7296SET QUOTED_IDENTIFIER ON
7297GO
7298
7299
7300CREATE PROC [dbo].[spBuyBountyItem]
7301 @CID INT,
7302 @ItemID INT,
7303 @Price INT
7304AS
7305SET NOCOUNT ON
7306BEGIN
7307 DECLARE @OrderCIID int
7308 DECLARE @Bounty INT
7309
7310 BEGIN TRAN
7311 -- 잔액검사
7312 SELECT @Bounty=BP FROM Character(NOLOCK) WHERE CID=@CID
7313 IF @Bounty IS NULL OR @Bounty < @Price
7314 BEGIN
7315 ROLLBACK TRAN
7316 RETURN 0
7317 END
7318
7319 -- Bounty ê°ì†Œ
7320 UPDATE Character SET BP=BP-@Price WHERE CID=@CID
7321 IF 0 = @@ROWCOUNT
7322 BEGIN
7323 ROLLBACK TRAN
7324 RETURN (-1)
7325 END
7326
7327 -- Item 추가
7328 INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
7329 IF 0 <> @@ERROR
7330 BEGIN
7331 ROLLBACK TRAN
7332 RETURN (-1)
7333 END
7334
7335 SELECT @OrderCIID = @@IDENTITY
7336
7337 -- Item 구매로그 추가
7338 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
7339 VALUES (@ItemID, @CID, GETDATE(), @Price, @Bounty, '구입')
7340 IF 0 <> @@ERROR BEGIN
7341 ROLLBACK TRAN
7342 RETURN (-1)
7343 END
7344
7345 SELECT @OrderCIID as ORDERCIID
7346 COMMIT TRAN
7347
7348 RETURN 1
7349END
7350
7351
7352
7353
7354
7355
7356
7357GO
7358/****** Object: StoredProcedure [dbo].[spBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7359SET ANSI_NULLS ON
7360GO
7361SET QUOTED_IDENTIFIER ON
7362GO
7363
7364--------------------------------------------------------------------------------
7365
7366-- cash shopì—서 ê±°ëž˜ëœ ì•„ì´í…œì„ accountitmeì— ì¶”ê°€.
7367CREATE PROC [dbo].[spBuyCashItem]
7368 @UserID varchar(20),
7369 @CSID int,
7370 @Cash int,
7371 @RentHourPeriod smallint = NULL,
7372 @MobileCode char(16) = NULL
7373AS
7374 SET NoCount On
7375
7376 DECLARE @AID int
7377 DECLARE @ItemID int
7378
7379 -- Account 검사
7380 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7381 IF @AID IS NULL
7382 BEGIN
7383 RETURN 0
7384 END
7385 ELSE
7386 BEGIN
7387 SELECT @ItemID = ItemID FROM CashShop cs (NOLOCK) WHERE cs.CSID = @CSID
7388
7389 IF @ItemID IS NOT NULL
7390 BEGIN
7391 DECLARE @RentDate datetime
7392
7393 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7394 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7395 BEGIN
7396 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7397 DECLARE @RentType TINYINT
7398 DECLARE @RCSPID INT
7399
7400 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
7401 IF @RentType = 1
7402 BEGIN
7403 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
7404 IF @RCSPID IS NULL
7405 BEGIN
7406 RETURN 0
7407 END
7408 END
7409
7410 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
7411 SET @RentDate = NULL
7412 END
7413 ELSE
7414 BEGIN
7415 SET @RentDate = GETDATE()
7416 END
7417
7418
7419 BEGIN TRAN tranBuyCashItem
7420
7421 -- ì•„ì´í…œ ìƒì„±.
7422 INSERT INTO accountitem(AID, ItemID, RentDate, RentHourPeriod)
7423 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7424
7425 IF @@ERROR <> 0
7426 BEGIN
7427 ROLLBACK TRAN tranBuyCashItem
7428 RETURN 0
7429 END
7430
7431 -- ì•„ì´í…œ 거래 logìƒì„±.
7432 INSERT INTO ItemPurchaseLogByCash(AID, ItemID, Date, RentHourPeriod, Cash, MobileCode)
7433 VALUES (@AID, @ItemID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7434
7435 IF @@ERROR <> 0
7436 BEGIN
7437 ROLLBACK TRAN tranBuyCashItem
7438 RETURN 0
7439 END
7440
7441 COMMIT TRAN tranBuyCashItem
7442
7443 RETURN 1
7444
7445 END
7446 ELSE
7447 BEGIN
7448 RETURN 0
7449 END
7450 END
7451
7452 RETURN 1
7453
7454
7455
7456
7457
7458
7459
7460
7461GO
7462/****** Object: StoredProcedure [dbo].[spBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7463SET ANSI_NULLS ON
7464GO
7465SET QUOTED_IDENTIFIER ON
7466GO
7467
7468CREATE PROC [dbo].[spBuyCashSetItem]
7469 @UserID varchar(20),
7470 @CSSID int,
7471 @Cash int,
7472 @RentHourPeriod smallint = NULL,
7473 @MobileCode char(16) = NULL
7474AS
7475 SET NoCount On
7476
7477 IF NOT EXISTS(SELECT CSSID FROM CashSetShop(NOLOCK) WHERE CSSID = @CSSID)
7478 RETURN 0
7479
7480 DECLARE @AID int
7481
7482 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7483
7484 -- ì¡´ì œí•˜ëŠ” ìœ ì €ì¸ì§€ 검사.
7485 IF @AID IS NULL
7486 BEGIN
7487 RETURN 0
7488 END
7489 ELSE
7490 BEGIN
7491 DECLARE @RentDate datetime
7492
7493
7494
7495 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
7496 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
7497 BEGIN
7498 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
7499 DECLARE @RentType TINYINT
7500 DECLARE @RCSSPID INT
7501
7502 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
7503 IF @RentType = 1
7504 BEGIN
7505 SELECT @RCSSPID=RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
7506 IF @RCSSPID IS NULL
7507 BEGIN
7508 RETURN 0
7509 END
7510 END
7511
7512 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
7513 SET @RentDate = NULL
7514 END
7515 ELSE
7516 BEGIN
7517 SET @RentDate = GETDATE()
7518 END
7519
7520
7521
7522 BEGIN TRAN
7523
7524 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
7525 FOR
7526 SELECT CSID FROM CashSetItem (NOLOCK) WHERE CSSID = @CSSID
7527 FOR READ ONLY
7528
7529 OPEN curBuyCashSetItem
7530
7531 DECLARE @varCSID int
7532 DECLARE @ItemID int
7533
7534 FETCH FROM curBuyCashSetItem INTO @varCSID
7535
7536 WHILE @@FETCH_STATUS = 0
7537 BEGIN
7538 SELECT @ItemID = cs.ItemID
7539 FROM CashShop cs (NOLOCK)
7540 WHERE cs.CSID = @varCSID
7541
7542 IF @ItemID IS NOT NULL
7543 BEGIN
7544 -- ì•„ì´í…œ ìƒì„±.
7545 INSERT INTO AccountItem(AID, ItemID, RentDate, RentHourPeriod)
7546 VALUES (@AID, @ItemID, @RentDate, @RentHourPeriod)
7547
7548 IF @@ERROR <> 0
7549 BEGIN
7550 ROLLBACK
7551 CLOSE curBuyCashSetItem
7552 DEALLOCATE curBuyCashSetItem
7553 RETURN 0
7554 END
7555 END
7556
7557 FETCH curBuyCashSetItem INTO @varCSID
7558 END
7559
7560 CLOSE curBuyCashSetItem
7561 DEALLOCATE curBuyCashSetItem
7562
7563 -- 셋트 ì•„ì´í…œ 구입 로그.
7564 INSERT INTO SetItemPurchaseLogByCash (AID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
7565 VALUES (@AID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
7566
7567 IF @@ERROR <> 0
7568 BEGIN
7569 ROLLBACK
7570 RETURN 0
7571 END
7572
7573 COMMIT TRAN
7574 RETURN 1
7575 END
7576
7577
7578
7579
7580
7581
7582
7583GO
7584/****** Object: StoredProcedure [dbo].[spCashShopGetRankedList] Script Date: 28-05-2018 18:12:28 ******/
7585SET ANSI_NULLS ON
7586GO
7587SET QUOTED_IDENTIFIER ON
7588GO
7589
7590
7591CREATE PROC [dbo].[spCashShopGetRankedList]
7592 @Category varchar(32)
7593 -- @Category : ì›ê±°ë¦¬ë¬´ê¸°, ê·¼ì ‘ë¬´ê¸°, 특수아ì´í…œ, 방어구, 세트
7594AS
7595SET NOCOUNT ON
7596BEGIN
7597 IF (@Category = '세트')
7598 BEGIN
7599 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
7600 FROM CashShopRank r(NOLOCK), CashSetShop s(NOLOCK)
7601 WHERE r.CSSID=s.CSSID AND Category=@Category AND s.Opened=1
7602 END
7603 ELSE
7604 BEGIN
7605 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
7606 FROM CashShopRank r(NOLOCK), CashShop s(NOLOCK)
7607 WHERE r.CSID=s.CSID AND Category=@Category AND s.Opened=1
7608 END
7609END
7610
7611
7612
7613
7614
7615
7616
7617GO
7618/****** Object: StoredProcedure [dbo].[spCashShopNewItemList] Script Date: 28-05-2018 18:12:28 ******/
7619SET ANSI_NULLS ON
7620GO
7621SET QUOTED_IDENTIFIER ON
7622GO
7623
7624CREATE PROC [dbo].[spCashShopNewItemList]
7625 @IsSetItem INT
7626AS
7627BEGIN
7628 IF @IsSetItem=0
7629 BEGIN
7630 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashShop c(NOLOCK)
7631 WHERE n.CSID=c.CSID AND c.Opened=1 AND IsSetItem=0 ORDER BY NewOrder
7632 END
7633 ELSE
7634 BEGIN
7635 SELECT TOP 4 n.* FROM CashShopNewItem n(NOLOCK), CashSetShop c(NOLOCK)
7636 WHERE n.CSSID=c.CSSID AND c.Opened=1 AND IsSetItem=1 ORDER BY NewOrder
7637 END
7638END
7639
7640
7641
7642
7643GO
7644/****** Object: StoredProcedure [dbo].[spCashShopNewItemUpdate] Script Date: 28-05-2018 18:12:28 ******/
7645SET ANSI_NULLS ON
7646GO
7647SET QUOTED_IDENTIFIER ON
7648GO
7649
7650
7651CREATE PROC [dbo].[spCashShopNewItemUpdate]
7652 @NewOrder INT,
7653 @IsSetItem INT,
7654 @CSID INT,
7655 @CSSID INT
7656AS
7657SET NOCOUNT ON
7658BEGIN
7659
7660 IF EXISTS(SELECT id FROM CashShopNewItem(NOLOCK) WHERE NewOrder=@NewOrder)
7661 BEGIN
7662 DELETE CashShopNewItem WHERE NewOrder=@NewOrder
7663 END
7664
7665 IF @IsSetItem = 0
7666 BEGIN
7667 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7668 SELECT @NewOrder AS NewOrder,
7669 CASE i.Slot
7670 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7671 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7672 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7673 WHEN 3 THEN '특수아ì´í…œ'
7674 WHEN 4 THEN '방어구'
7675 WHEN 5 THEN '방어구'
7676 WHEN 6 THEN '방어구'
7677 WHEN 7 THEN '방어구'
7678 WHEN 8 THEN '방어구'
7679 WHEN 9 THEN '방어구'
7680 END AS Category,
7681 @IsSetItem, s.CSID, NULL AS CSSID,
7682 CASE i.Slot
7683 WHEN 0 THEN 'ì œí•œì—†ìŒ'
7684 WHEN 1 THEN 'ê·¼ì ‘ë¬´ê¸°'
7685 WHEN 2 THEN 'ì›ê±°ë¦¬ë¬´ê¸°'
7686 WHEN 3 THEN 'ì•„ì´í…œ'
7687 WHEN 4 THEN '머리'
7688 WHEN 5 THEN '가슴'
7689 WHEN 6 THEN 'ì†'
7690 WHEN 7 THEN '다리'
7691 WHEN 8 THEN '발'
7692 WHEN 9 THEN 'ì†ê°€ë½'
7693 END AS Slot,
7694 i.Name, i.ResSex, i.ResLevel, CashPrice, s.WebImgName
7695 FROM CashShop s(NOLOCK), Item i(NOLOCK)
7696 WHERE s.ItemID=i.ItemID AND CSID=@CSID
7697 END
7698 ELSE
7699 BEGIN
7700 INSERT INTO CashShopNewItem (NewOrder, Category, IsSetItem, CSID, CSSID, Slot, Name, ResSex, ResLevel, CashPrice, WebImgName)
7701 SELECT @NewOrder AS NewOrder, '세트', @IsSetItem, NULL AS CSID, CSSID, '세트' AS Slot, Name, ResSex, ResLevel, CashPrice, WebImgName
7702 FROM CashSetShop(NOLOCK)
7703 WHERE CSSID=@CSSID
7704 END
7705END
7706
7707
7708
7709
7710
7711GO
7712/****** Object: StoredProcedure [dbo].[spChangeCharName] Script Date: 28-05-2018 18:12:28 ******/
7713SET ANSI_NULLS ON
7714GO
7715SET QUOTED_IDENTIFIER ON
7716GO
7717
7718
7719-- ìºë¦í„° ì´ë¦„ 변경
7720CREATE PROC [dbo].[spChangeCharName]
7721 @AID int,
7722 @CID int,
7723 @NewName varchar(24)
7724AS
7725SET NOCOUNT ON
7726IF (LEN(@NewName) <= 0) OR (LEN(@NewName) > 12)
7727BEGIN
7728 SELECT 0 AS Ret
7729END
7730
7731IF EXISTS (SELECT TOP 1 CID FROM Character where (Name=@NewName) AND (DeleteFlag=0))
7732BEGIN
7733 SELECT 0 AS Ret
7734 return (-1)
7735END
7736
7737UPDATE Character SET Name=@NewName WHERE AID=@AID AND CID=@CID
7738IF 0 = @@ROWCOUNT BEGIN
7739 SELECT 0 AS Ret
7740 RETURN (-1)
7741END
7742
7743SELECT 1 AS Ret
7744
7745
7746
7747
7748
7749
7750GO
7751/****** Object: StoredProcedure [dbo].[spCheckDuplicateCharName] Script Date: 28-05-2018 18:12:28 ******/
7752SET ANSI_NULLS ON
7753GO
7754SET QUOTED_IDENTIFIER ON
7755GO
7756
7757create proc [dbo].[spCheckDuplicateCharName]
7758 @Name varchar(24)
7759as
7760 set nocount on
7761 select top 1 cid from character(nolock) where deleteflag <> 1 and name = @Name
7762
7763
7764
7765
7766GO
7767/****** Object: StoredProcedure [dbo].[spCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
7768SET ANSI_NULLS ON
7769GO
7770SET QUOTED_IDENTIFIER ON
7771GO
7772
7773
7774
7775
7776CREATE PROC [dbo].[spCheckRegisteredUser]
7777 @UserID VARCHAR(20)
7778AS
7779BEGIN
7780 SET NOCOUNT ON
7781 DECLARE @AID INT
7782
7783 SELECT @AID = AID FROM Account WHERE UserID = @UserID
7784
7785 IF @@ERROR <> 0
7786 BEGIN
7787 RETURN -- 디비장ì•
7788 END
7789
7790 IF @AID IS NULL
7791 BEGIN
7792 RETURN -1 -- 미가입ìž
7793 END
7794 select 1
7795 RETURN 1 -- ê°€ìž…ìž í™•ì¸
7796END
7797
7798
7799
7800
7801
7802GO
7803/****** Object: StoredProcedure [dbo].[spClearAllEquipedItem] Script Date: 28-05-2018 18:12:28 ******/
7804SET ANSI_NULLS ON
7805GO
7806SET QUOTED_IDENTIFIER ON
7807GO
7808
7809
7810/* ìºë¦í„° ëª¨ë“ ìž¥ë¹„ í•´ì œ */
7811CREATE PROC [dbo].[spClearAllEquipedItem]
7812 @CID int
7813AS
7814SET NOCOUNT ON
7815
7816UPDATE Character WITH (rowlock)
7817SET head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
7818 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL, custom1_slot=NULL, custom2_slot=NULL,
7819 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
7820 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL, custom1_itemid=NULL, custom2_itemid=NULL
7821
7822WHERE CID=@CID
7823
7824
7825
7826
7827
7828
7829
7830GO
7831/****** Object: StoredProcedure [dbo].[spConfirmBuyCashItem] Script Date: 28-05-2018 18:12:28 ******/
7832SET ANSI_NULLS ON
7833GO
7834SET QUOTED_IDENTIFIER ON
7835GO
7836
7837
7838/* ì¼ë°˜ ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7839CREATE PROC [dbo].[spConfirmBuyCashItem]
7840 @UserID varchar(20),
7841 @CSID int,
7842 @RetEnableBuyItem int OUTPUT,
7843 @RetRepeatBuySameItem int OUTPUT
7844AS
7845SET NoCount On
7846
7847DECLARE @AID int
7848DECLARE @ItemID int
7849DECLARE @AIID int
7850
7851
7852SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7853SELECT @ItemID = ItemID FROM CashShop(nolock) WHERE CSID=@CSID
7854
7855IF @AID IS NULL
7856BEGIN
7857 SELECT @RetEnableBuyItem = 0
7858 SELECT @RetRepeatBuySameItem = 0
7859END
7860ELSE
7861BEGIN
7862 SELECT @RetEnableBuyItem = 1
7863
7864
7865 IF (@ItemID IS NOT NULL)
7866 BEGIN
7867 SELECT TOP 1 @AIID = AIID FROM AccountItem(nolock) WHERE AID=@AID AND ItemID=@ItemID
7868 IF (@AIID IS NOT NULL)
7869 BEGIN
7870 SELECT @RetRepeatBuySameItem = 1
7871 END
7872 ELSE
7873 BEGIN
7874 SELECT @RetRepeatBuySameItem = 0
7875 END
7876 END
7877 ELSE
7878 BEGIN
7879 SELECT @RetRepeatBuySameItem = 0
7880 END
7881
7882
7883END
7884
7885
7886
7887
7888
7889
7890GO
7891/****** Object: StoredProcedure [dbo].[spConfirmBuyCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
7892SET ANSI_NULLS ON
7893GO
7894SET QUOTED_IDENTIFIER ON
7895GO
7896
7897
7898
7899
7900/* 세트 ì•„ì´í…œ 구매가능ì¸ì§€ 확ì¸í•˜ê¸° */
7901CREATE PROC [dbo].[spConfirmBuyCashSetItem]
7902 @UserID varchar(20),
7903 @CSSID int,
7904 @RetEnableBuyItem int OUTPUT,
7905 @RetRepeatBuySameItem int OUTPUT
7906AS
7907SET NoCount On
7908
7909DECLARE @AID int
7910DECLARE @SIL_ID int
7911DECLARE @LAST_ID int
7912
7913SELECT @AID = AID FROM Account(nolock) where UserID = @UserID
7914
7915
7916IF @AID IS NULL
7917BEGIN
7918 SELECT @RetEnableBuyItem = 0
7919 SELECT @RetRepeatBuySameItem = 0
7920END
7921ELSE
7922BEGIN
7923 SELECT @RetEnableBuyItem = 1
7924
7925 SELECT TOP 1 @LAST_ID = id FROM SetItemPurchaseLogByCash spl(nolock) order by id desc
7926
7927 SELECT TOP 1 @SIL_ID = id FROM SetItemPurchaseLogByCash spl(nolock)
7928 WHERE id > (@LAST_ID-10000) AND AID=@AID AND CSSID=@CSSID
7929
7930 IF (@SIL_ID IS NOT NULL)
7931 BEGIN
7932 SELECT @RetRepeatBuySameItem = 1
7933 END
7934 ELSE
7935 BEGIN
7936 SELECT @RetRepeatBuySameItem = 0
7937 END
7938
7939END
7940
7941
7942
7943
7944
7945
7946GO
7947/****** Object: StoredProcedure [dbo].[spConfirmExistClan] Script Date: 28-05-2018 18:12:28 ******/
7948SET ANSI_NULLS ON
7949GO
7950SET QUOTED_IDENTIFIER ON
7951GO
7952
7953
7954-- í´ëžœì´ 존재하는지 확ì¸í•˜ê¸°
7955CREATE PROC [dbo].[spConfirmExistClan]
7956 @ClanName varchar(24)
7957AS
7958 SET NOCOUNT ON
7959 SELECT COUNT(*) FROM Clan(NOLOCK) WHERE Name=@ClanName
7960
7961
7962
7963
7964
7965GO
7966/****** Object: StoredProcedure [dbo].[spCreateClan] Script Date: 28-05-2018 18:12:28 ******/
7967SET ANSI_NULLS ON
7968GO
7969SET QUOTED_IDENTIFIER ON
7970GO
7971
7972
7973-- í´ëžœ ìƒì„±í•˜ê¸°
7974CREATE PROC [dbo].[spCreateClan]
7975 @ClanName varchar(24),
7976 @MasterCID int
7977AS
7978 DECLARE @NewCLID int
7979
7980 -- í´ëžœì´ë¦„ì´ ì¤‘ë³µì¸ì§€ 검사해야한다.
7981 SELECT @NewCLID=CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
7982
7983 IF @NewCLID IS NOT NULL
7984 BEGIN
7985 SELECT 0 AS Ret, 0 AS NewCLID
7986 RETURN
7987 END
7988
7989
7990 DECLARE @CNT int
7991
7992 -- í´ëžœì›ì´ ëª¨ë‘ ê°€ìž… 가능한지 검사해야한다.
7993 SELECT @CNT = COUNT(*) FROM ClanMember cm(NOLOCK), Character c(NOLOCK) WHERE (cm.CID=@MasterCID) AND cm.CID=c.CID AND c.DeleteFlag=0
7994
7995 IF @CNT != 0
7996 BEGIN
7997 SELECT 0 AS Ret, 0 AS NewCLID
7998 RETURN
7999 END
8000
8001
8002 BEGIN TRAN
8003 -- í´ëžœ ìƒì„±
8004 INSERT INTO Clan (Name, MasterCID, RegDate) VALUES (@ClanName, @MasterCID, GETDATE())
8005 IF 0 <> @@ERROR BEGIN
8006 ROLLBACK TRAN
8007 SELECT 0 AS Ret, 0 AS NewCLID
8008 RETURN
8009 END
8010
8011 SELECT @NewCLID = @@IDENTITY
8012 IF (@NewCLID IS not NULL)
8013 BEGIN
8014 DECLARE @Err1 int
8015
8016 -- í´ëžœì› 가입
8017 INSERT INTO ClanMember (CLID, CID, Grade, RegDate) VALUES (@NewCLID, @MasterCID, 1, GETDATE())
8018 SET @Err1 = @@ERROR
8019
8020 IF (0 <> @Err1) BEGIN
8021 ROLLBACK TRAN
8022 SELECT 0 AS Ret, 0 AS NewCLID
8023 RETURN
8024 END
8025 END
8026 COMMIT TRAN
8027
8028
8029 SELECT 1 AS Ret, @NewCLID AS NewCLID
8030GO
8031/****** Object: StoredProcedure [dbo].[spDeleteChar] Script Date: 28-05-2018 18:12:28 ******/
8032SET ANSI_NULLS ON
8033GO
8034SET QUOTED_IDENTIFIER ON
8035GO
8036
8037
8038/* ìºë¦í„° ì‚ì œ */
8039CREATE PROC [dbo].[spDeleteChar]
8040 @AID int,
8041 @CharNum smallint,
8042 @CharName varchar(24)
8043AS
8044DECLARE @CID int
8045DECLARE @CashItemCount int
8046
8047SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8048IF (@CID IS NULL)
8049BEGIN
8050 return (-1)
8051END
8052
8053SELECT @CashItemCount=COUNT(*) FROM CharacterItem(nolock) WHERE CID=@CID AND ItemID>=500000
8054
8055IF (@CashItemCount > 0) OR
8056 (EXISTS (SELECT TOP 1 CLID FROM ClanMember WHERE CID=@CID))
8057BEGIN
8058SELECT 2 AS Ret
8059return (0)
8060 return (-1)
8061END
8062
8063BEGIN TRAN
8064
8065UPDATE Character SET CharNum = -1, DeleteFlag = 1, Name='', DeleteName=@CharName
8066WHERE AID=@AID AND CharNum=@CharNum AND Name=@CharName
8067IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8068SELECT 3 AS Ret
8069 ROLLBACK TRAN
8070return (0)
8071 RETURN (-1)
8072END
8073
8074INSERT INTO CharacterMakingLog(AID, CharName, Type, Date)
8075VALUES(@AID, @CharName, 'ì‚ì œ', GETDATE())
8076IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
8077SELECT 4 AS Ret
8078 ROLLBACK TRAN
8079return (0)
8080 RETURN (-1)
8081END
8082
8083COMMIT TRAN
8084SELECT 1 AS Ret
8085
8086
8087
8088
8089
8090
8091GO
8092/****** Object: StoredProcedure [dbo].[spDeleteCharItem] Script Date: 28-05-2018 18:12:28 ******/
8093SET ANSI_NULLS ON
8094GO
8095SET QUOTED_IDENTIFIER ON
8096GO
8097
8098
8099
8100/* ìºë¦í„° ì•„ì´í…œ ì‚ì œ */
8101CREATE PROC [dbo].[spDeleteCharItem]
8102 @CID int,
8103 @CIID int
8104AS
8105SET NOCOUNT ON
8106
8107UPDATE CharacterItem SET CID=NULL
8108WHERE CID=@CID AND CIID=@CIID
8109
8110/* ì˜ˆì „êº¼
8111DELETE FROM CharacterItem
8112WHERE CID=@CID AND CIID=@CIID
8113*/
8114
8115
8116
8117
8118
8119GO
8120/****** Object: StoredProcedure [dbo].[spDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
8121SET ANSI_NULLS ON
8122GO
8123SET QUOTED_IDENTIFIER ON
8124GO
8125
8126
8127
8128-- í´ëžœ ì‚ì œí•˜ê¸°
8129CREATE PROC [dbo].[spDeleteClan]
8130 @CLID int,
8131 @ClanName varchar(24)
8132
8133AS
8134 SET NOCOUNT ON
8135 -- í´ëžœì› ëª¨ë‘ ì‚ì œ
8136 DELETE FROM ClanMember WHERE CLID=@CLID
8137
8138 -- í´ëžœ ì‚ì œ
8139 UPDATE Clan SET Name=NULL, DeleteFlag=1, DeleteName=@ClanName WHERE CLID=@CLID
8140
8141
8142
8143
8144
8145
8146GO
8147/****** Object: StoredProcedure [dbo].[spDeleteExpiredAccountItem] Script Date: 28-05-2018 18:12:28 ******/
8148SET ANSI_NULLS ON
8149GO
8150SET QUOTED_IDENTIFIER ON
8151GO
8152
8153
8154/* 중앙ì€í–‰ì˜ 기간만료 ì•„ì´í…œ ì‚ì œ */
8155CREATE PROC [dbo].[spDeleteExpiredAccountItem]
8156 @AIID int
8157AS
8158SET NOCOUNT ON
8159
8160DELETE FROM AccountItem WHERE AIID=@AIID AND RentDate IS NOT NULL
8161
8162
8163
8164
8165
8166
8167GO
8168/****** Object: StoredProcedure [dbo].[spFetchTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
8169SET ANSI_NULLS ON
8170GO
8171SET QUOTED_IDENTIFIER ON
8172GO
8173
8174
8175/* ì „ì²´ ëží‚¹ì„ 산출한다. - 디비 ì—ì´ì „트ì—서 실행시키는 í”„ë¡œì‹œì ¸ */
8176CREATE PROC [dbo].[spFetchTotalRanking]
8177AS
8178SET NOCOUNT ON
8179TRUNCATE TABLE TotalRanking
8180
8181INSERT into TotalRanking(UserID, Name, Level, XP, KillCount, DeathCount)
8182
8183SELECT Account.UserID, c.name, c.Level, c.XP, c.KillCount, c.DeathCount
8184FROM Character c(nolock), Account(nolock)
8185WHERE Account.AID=c.aid AND c.DeleteFlag=0 AND c.XP >= 500
8186ORDER BY c.xp DESC, c.KillCount DESC, c.DeathCount ASC, c.PlayTime DESC
8187
8188
8189
8190
8191
8192GO
8193/****** Object: StoredProcedure [dbo].[spGetAccountCharInfo] Script Date: 28-05-2018 18:12:28 ******/
8194SET ANSI_NULLS ON
8195GO
8196SET QUOTED_IDENTIFIER ON
8197GO
8198
8199
8200-- ìºë¦í„°ì„ íƒì‹œ ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8201CREATE PROC [dbo].[spGetAccountCharInfo]
8202 @AID int
8203, @CharNum smallint
8204AS
8205SET NOCOUNT ON
8206DECLARE @CID int
8207DECLARE @CLID int
8208DECLARE @ClanName varchar(24)
8209DECLARE @ClanGrade int
8210DECLARE @ClanContPoint int
8211
8212SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8213
8214SELECT @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,
8215 c.XP AS XP, c.BP AS BP,
8216 (SELECT cl.Name FROM Clan cl(nolock), ClanMember cm(nolock) WHERE cm.cid=@CID AND cm.CLID=cl.CLID) AS ClanName,
8217 head_itemid, chest_itemid, hands_itemid, legs_itemid, feet_itemid, fingerl_itemid,
8218 fingerr_itemid, melee_itemid, primary_itemid, secondary_itemid, custom1_itemid, custom2_itemid
8219FROM Character AS c WITH (nolock)
8220WHERE c.CID = @CID
8221
8222
8223
8224
8225
8226
8227GO
8228/****** Object: StoredProcedure [dbo].[spGetAccountInfo] Script Date: 28-05-2018 18:12:28 ******/
8229SET ANSI_NULLS ON
8230GO
8231SET QUOTED_IDENTIFIER ON
8232GO
8233
8234
8235CREATE PROC [dbo].[spGetAccountInfo]
8236 @AID int
8237, @ServerID int = 0
8238AS
8239BEGIN
8240 SET NOCOUNT ON
8241
8242 SELECT AID, UserID, UGradeID, Name, HackingType
8243 , DATEPART(yy, EndHackingBlockTime) AS HackBlockYear, DATEPART(mm, EndHackingBlockTime) AS HackBlockMonth
8244 , DATEPART(dd, EndHackingBlockTime) AS HackBlockDay, DATEPART(hh, EndHackingBlockTime) AS HackBlockHour
8245 , DATEPART(mi, EndHackingBlockTime) AS HackBlockMin
8246 FROM Account(NOLOCK) WHERE AID = @AID
8247
8248 update Account set LastLoginTime = getdate(), ServerID = @ServerID where aid = @aid
8249END
8250
8251
8252
8253
8254GO
8255/****** Object: StoredProcedure [dbo].[spGetAgoDay] Script Date: 28-05-2018 18:12:28 ******/
8256SET ANSI_NULLS ON
8257GO
8258SET QUOTED_IDENTIFIER ON
8259GO
8260
8261
8262-- 현재 ë‚ ì§œë¥¼ 기준으로 í‹€ì • ì¼ìˆ˜ ì´ì „ì˜ ë‚ ì„ êµ¬í•¨( EX, 2004-10-15 )
8263-- spRegularUpdateConnLogì˜ ì˜ì¡´ì„±ë•Œë¬¸ì— ë¨¼ì € ìƒì„±í•´ 줘야 함.
8264CREATE PROC [dbo].[spGetAgoDay]
8265 @DiffDay int
8266, @AgoDay datetime OUTPUT
8267AS
8268 SET NOCOUNT ON
8269 DECLARE @CurDay datetime
8270
8271 SELECT @CurDay = CONVERT( varchar(30), GETDATE(), 2 )
8272 SELECT @AgoDay = DATEADD( dd, -@DiffDay, @CurDay )
8273
8274
8275
8276
8277
8278
8279GO
8280/****** Object: StoredProcedure [dbo].[spGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8281SET ANSI_NULLS ON
8282GO
8283SET QUOTED_IDENTIFIER ON
8284GO
8285
8286
8287
8288-- ìºì‰¬ ì¼ë°˜ì•„ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8289CREATE PROC [dbo].[spGetCashItemImageFile]
8290 @CSID int
8291, @RetImageFileName varchar(64) OUTPUT
8292AS
8293SET NOCOUNT ON
8294
8295SELECT @RetImageFileName = WebImgName
8296FROM CashShop cs(nolock)
8297WHERE cs.csid=@CSID
8298
8299RETURN 1
8300
8301
8302
8303
8304
8305
8306GO
8307/****** Object: StoredProcedure [dbo].[spGetCashItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8308SET ANSI_NULLS ON
8309GO
8310SET QUOTED_IDENTIFIER OFF
8311GO
8312
8313CREATE PROC [dbo].[spGetCashItemInfo]
8314 @CSID int
8315AS
8316 SET NOCOUNT ON
8317
8318 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8319 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8320 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8321 i.Damage AS Damage, i.Delay AS Delay, i.Controllability AS Controllability,
8322 i.Magazine AS Magazine, i.MaxBullet AS MaxBullet, i.ReloadTime AS ReloadTime,
8323 i.HP AS HP, i.AP AS AP, i.MAXWT AS MaxWeight, i.LimitSpeed AS LimitSpeed,
8324 i.FR AS FR, i.CR AS CR, i.PR AS PR, i.LR AS LR,
8325 i.Description AS Description, cs.NewItemOrder AS IsNewItem,
8326 cs.RentType AS RentType
8327 FROM CashShop cs(nolock), Item i(nolock)
8328 WHERE i.ItemID = cs.ItemID AND cs.csid = @CSID
8329
8330
8331
8332
8333
8334
8335GO
8336/****** Object: StoredProcedure [dbo].[spGetCashItemList] Script Date: 28-05-2018 18:12:28 ******/
8337SET ANSI_NULLS ON
8338GO
8339SET QUOTED_IDENTIFIER ON
8340GO
8341
8342
8343/* ì•„ì´í…œ 리스트 ê°€ì ¸ì˜¤ê¸° */
8344CREATE PROC [dbo].[spGetCashItemList]
8345 @ItemType int,
8346 @Page int,
8347 @PageCount int OUTPUT
8348AS
8349SET NoCount On
8350
8351DECLARE @Rows int
8352DECLARE @ViewCount int
8353
8354SELECT @Rows = @Page * 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8355
8356DECLARE @PageSize INT
8357SELECT @PageSize = 8
8358
8359DECLARE @PageHead INT
8360DECLARE @RowCount INT
8361
8362
8363IF @ItemType = 1 /* ê·¼ì ‘ë¬´ê¸° */
8364BEGIN
8365
8366 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8367 FROM CashShop cs(nolock), Item i(nolock)
8368 WHERE i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8369
8370 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8371
8372 SET ROWCOUNT @RowCount
8373 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8374 WHERE cs.ItemID=i.ItemID AND i.Slot=1 AND cs.Opened=1
8375 ORDER BY cs.csid DESC
8376
8377 SET ROWCOUNT @PageSize
8378 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8379 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8380 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8381 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8382 cs.RentType AS RentType
8383 FROM CashShop cs(nolock), Item i(nolock)
8384 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 1 AND cs.Opened=1
8385 ORDER BY cs.csid DESC
8386
8387END
8388ELSE
8389IF @ItemType=2 /* ì›ê±°ë¦¬ë¬´ê¸° */
8390BEGIN
8391
8392 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8393 FROM CashShop cs(nolock), Item i(nolock)
8394 WHERE i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8395
8396 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8397
8398 SET ROWCOUNT @RowCount
8399 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8400 WHERE cs.ItemID=i.ItemID AND i.Slot=2 AND cs.Opened=1
8401 ORDER BY cs.csid DESC
8402
8403 SET ROWCOUNT @PageSize
8404 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8405 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8406 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8407 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8408 cs.RentType AS RentType
8409 FROM CashShop cs(nolock), Item i(nolock)
8410 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot = 2 AND cs.Opened=1
8411 ORDER BY cs.csid DESC
8412
8413END
8414ELSE
8415IF @ItemType=3 /* 방어구 */
8416BEGIN
8417
8418 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8419 FROM CashShop cs(nolock), Item i(nolock)
8420 WHERE i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8421
8422 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8423
8424 SET ROWCOUNT @RowCount
8425 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8426 WHERE cs.ItemID=i.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8427 ORDER BY cs.csid DESC
8428
8429 SET ROWCOUNT @PageSize
8430 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8431 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8432 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8433 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8434 cs.RentType AS RentType
8435 FROM CashShop cs(nolock), Item i(nolock)
8436 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND i.Slot BETWEEN 4 AND 8 AND cs.Opened=1
8437 ORDER BY cs.csid DESC
8438
8439END
8440ELSE
8441IF @ItemType=4 /* 특수아ì´í…œ */
8442BEGIN
8443
8444 SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
8445 FROM CashShop cs(nolock), Item i(nolock)
8446 WHERE i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8447
8448 SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8449
8450 SET ROWCOUNT @RowCount
8451 SELECT @PageHead = cs.csid FROM CashShop cs(NOLOCK), Item i(nolock)
8452 WHERE cs.ItemID=i.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8453 ORDER BY cs.csid DESC
8454
8455 SET ROWCOUNT @PageSize
8456 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8457 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8458 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8459 i.Description AS Description, cs.RegDate As RegDate, cs.NewItemOrder AS IsNewItem,
8460 cs.RentType AS RentType
8461 FROM CashShop cs(nolock), Item i(nolock)
8462 WHERE csid <= @PageHead AND i.ItemID = cs.ItemID AND (i.Slot = 3 OR i.Slot=9) AND cs.Opened=1
8463 ORDER BY cs.csid DESC
8464
8465END
8466
8467SET ROWCOUNT 0
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478GO
8479/****** Object: StoredProcedure [dbo].[spGetCashSetItemComposition] Script Date: 28-05-2018 18:12:28 ******/
8480SET ANSI_NULLS ON
8481GO
8482SET QUOTED_IDENTIFIER ON
8483GO
8484
8485
8486/* 세트 ì•„ì´í…œì˜ 세부아ì´í…œ ëª©ë¡ ë³´ê¸° */
8487CREATE PROC [dbo].[spGetCashSetItemComposition]
8488 @CSSID int,
8489 @OutRowCount int OUTPUT
8490AS
8491SET NOCOUNT ON
8492
8493SELECT @OutRowCount = COUNT(*)
8494FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8495WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8496
8497SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
8498 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
8499 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
8500 i.Description AS Description, cs.RegDate As RegDate,
8501 cs.NewItemOrder AS IsNewItem
8502
8503FROM CashSetItem csi(nolock), CashShop cs(nolock), Item i(nolock)
8504WHERE @CSSID = csi.CSSID AND csi.csid = cs.csid AND cs.ItemID = i.ItemID
8505
8506
8507
8508
8509
8510
8511
8512GO
8513/****** Object: StoredProcedure [dbo].[spGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
8514SET ANSI_NULLS ON
8515GO
8516SET QUOTED_IDENTIFIER ON
8517GO
8518
8519
8520
8521-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ 알아오기
8522CREATE PROC [dbo].[spGetCashSetItemImageFile]
8523 @CSSID int
8524, @RetImageFileName varchar(64) OUTPUT
8525AS
8526SET NOCOUNT ON
8527
8528SELECT @RetImageFileName=WebImgName FROM CashSetShop css(nolock) WHERE CSSID=@CSSID
8529
8530RETURN 1
8531
8532
8533
8534
8535
8536GO
8537/****** Object: StoredProcedure [dbo].[spGetCashSetItemInfo] Script Date: 28-05-2018 18:12:28 ******/
8538SET ANSI_NULLS ON
8539GO
8540SET QUOTED_IDENTIFIER ON
8541GO
8542
8543
8544/* 세트아ì´í…œì˜ ìƒì„¸ ì •ë³´ 보기 */
8545CREATE PROC [dbo].[spGetCashSetItemInfo]
8546 @CSSID int
8547AS
8548 SET NOCOUNT ON
8549
8550 SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8551 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8552 Description AS Description, NewItemOrder As IsNewItem, RentType AS RentType
8553
8554 FROM CashSetShop css(nolock)
8555 WHERE CSSID = @CSSID
8556
8557
8558
8559
8560
8561
8562GO
8563/****** Object: StoredProcedure [dbo].[spGetCashSetItemList] Script Date: 28-05-2018 18:12:28 ******/
8564SET ANSI_NULLS ON
8565GO
8566SET QUOTED_IDENTIFIER ON
8567GO
8568
8569
8570/* 세트아ì´í…œ ëª©ë¡ ë³´ê¸° */
8571CREATE PROC [dbo].[spGetCashSetItemList]
8572 @Page int,
8573 @PageCount int OUTPUT
8574AS
8575SET NoCount On
8576DECLARE @Rows int
8577DECLARE @ViewCount int
8578
8579DECLARE @PageSize INT
8580SELECT @PageSize = 8 /* 한페ì´ì§€ì— 8개씩 보여준다 */
8581
8582DECLARE @PageHead INT
8583DECLARE @RowCount INT
8584
8585SELECT @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize FROM CashSetShop css(nolock) WHERE css.Opened=1
8586SELECT @RowCount = ((@Page -1) * @PageSize + 1)
8587
8588SET ROWCOUNT @RowCount
8589SELECT @PageHead = css.CSSID FROM CashSetShop css(nolock)
8590WHERE css.Opened=1
8591ORDER BY css.cssid DESC
8592
8593
8594SET ROWCOUNT @PageSize
8595SELECT CSSID AS CSSID, Name AS Name, CashPrice AS Cash, WebImgName AS WebImgName,
8596 ResSex AS ResSex, ResLevel AS ResLevel, Weight AS Weight,
8597 Description AS Description, RegDate AS RegDate, NewItemOrder AS IsNewItem,
8598 RentType AS RentType
8599FROM CashSetShop css(nolock)
8600WHERE cssid <= @PageHead AND css.Opened=1
8601ORDER BY css.cssid DESC
8602
8603
8604SET ROWCOUNT 0
8605
8606
8607
8608
8609
8610
8611GO
8612/****** Object: StoredProcedure [dbo].[spGetCharClan] Script Date: 28-05-2018 18:12:28 ******/
8613SET ANSI_NULLS ON
8614GO
8615SET QUOTED_IDENTIFIER ON
8616GO
8617
8618
8619
8620-- í´ëžœì´ë¦„ 알아오기
8621CREATE PROC [dbo].[spGetCharClan]
8622 @CID int
8623AS
8624 SET NOCOUNT ON
8625 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
8626
8627
8628
8629
8630
8631GO
8632/****** Object: StoredProcedure [dbo].[spGetCharInfoByCharNum] Script Date: 28-05-2018 18:12:28 ******/
8633SET ANSI_NULLS ON
8634GO
8635SET QUOTED_IDENTIFIER ON
8636GO
8637
8638
8639-- ìºë¦í„° ì •ë³´ ê°€ì ¸ì˜¤ê¸°
8640CREATE PROC [dbo].[spGetCharInfoByCharNum]
8641 @AID int
8642, @CharNum smallint
8643AS
8644SET NOCOUNT ON
8645
8646DECLARE @CID int
8647DECLARE @CLID int
8648DECLARE @ClanName varchar(24)
8649DECLARE @ClanGrade int
8650DECLARE @ClanContPoint int
8651BEGIN
8652SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
8653SELECT @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
8654
8655SELECT CID, AID, Name, Level, Sex, CharNum, Hair, Face, XP, BP, HP, AP, FR, CR, ER, WR, GameCount, KillCount, DeathCount, PlayTime,
8656 head_slot, chest_slot, hands_slot, legs_slot, feet_slot, fingerl_slot, fingerr_slot, melee_slot, primary_slot,
8657 secondary_slot, custom1_slot, custom2_slot,
8658 @CLID AS CLID, @ClanName AS ClanName, @ClanGrade AS ClanGrade, @ClanContPoint AS ClanContPoint
8659FROM Character WITH (nolock) where cid=@CID
8660END
8661
8662
8663
8664
8665
8666GO
8667/****** Object: StoredProcedure [dbo].[spGetCharList] Script Date: 28-05-2018 18:12:28 ******/
8668SET ANSI_NULLS ON
8669GO
8670SET QUOTED_IDENTIFIER ON
8671GO
8672
8673
8674/* ê³„ì •ì˜ ìºë¦í„° 리스트 ê°€ì ¸ì˜¤ê¸° */
8675CREATE PROC [dbo].[spGetCharList]
8676 @AID int
8677AS
8678SET NOCOUNT ON
8679SELECT c.CID AS CID, c.Name AS Name, c.CharNum AS CharNum, c.Level AS Level
8680FROM Character AS c WITH (nolock)
8681WHERE c.AID=@AID AND c.DeleteFlag = 0
8682
8683
8684
8685
8686
8687GO
8688/****** Object: StoredProcedure [dbo].[spGetCharNameByCID] Script Date: 28-05-2018 18:12:28 ******/
8689SET ANSI_NULLS ON
8690GO
8691SET QUOTED_IDENTIFIER ON
8692GO
8693
8694
8695--------------------------------------------
8696
8697create proc [dbo].[spGetCharNameByCID]
8698 @CID int
8699as
8700 set nocount on
8701 select name from character(nolock) where CID = @CID
8702
8703
8704
8705
8706GO
8707/****** Object: StoredProcedure [dbo].[spGetCheckBlockedIP] Script Date: 28-05-2018 18:12:28 ******/
8708SET ANSI_NULLS ON
8709GO
8710SET QUOTED_IDENTIFIER ON
8711GO
8712
8713CREATE PROC [dbo].[spGetCheckBlockedIP]
8714@IP varchar(15)
8715AS
8716BEGIN
8717 SELECT ic.CountryName as Name, bcc.CountryCode3 as Code, bcc.IsBlock
8718 FROM BlockCountryCode bcc(NOLOCK), IPtoCountry ic(NOLOCK)
8719 WHERE ic.CountryCode3 = bcc.CountryCode3 and
8720 ic.IPFrom <= TestDB.game.inet_aton( @IP ) and ic.IPTo >= TestDB.game.inet_aton( @IP )
8721END
8722
8723
8724
8725
8726GO
8727/****** Object: StoredProcedure [dbo].[spGetCIDbyCharName] Script Date: 28-05-2018 18:12:28 ******/
8728SET ANSI_NULLS ON
8729GO
8730SET QUOTED_IDENTIFIER ON
8731GO
8732
8733
8734--------------------------------------------
8735
8736create proc [dbo].[spGetCIDbyCharName]
8737 @Name varchar(24)
8738as
8739 set nocount on
8740 select cid from character(nolock) where name = @Name
8741
8742
8743
8744
8745GO
8746/****** Object: StoredProcedure [dbo].[spGetClanHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
8747SET ANSI_NULLS ON
8748GO
8749SET QUOTED_IDENTIFIER ON
8750GO
8751
8752
8753/* í´ëžœ ëª…ì˜ˆì˜ ì „ë‹¹ 보기 월별 10위까지
8754 2004ë…„ 9ì›” ~ í˜„ìž¬ì €ë²ˆë‹¬ê¹Œì§€(ì´ë‹¬ ì œì™¸) */
8755CREATE PROC [dbo].[spGetClanHonorRanking]
8756 @Year INT,
8757 @Month INT
8758AS
8759SET NOCOUNT ON
8760BEGIN
8761 SELECT TOP 10 r.Ranking, r.ClanName, r.Point, r.Wins, r.Losses, r.CLID, c.EmblemUrl
8762 FROM ClanHonorRanking r(NOLOCK), Clan c(NOLOCK)
8763 WHERE r.CLID=c.CLID AND Year = @Year AND Month = @Month
8764 ORDER BY r.Ranking
8765END
8766
8767
8768
8769
8770
8771GO
8772/****** Object: StoredProcedure [dbo].[spGetClanInfo] Script Date: 28-05-2018 18:12:28 ******/
8773SET ANSI_NULLS ON
8774GO
8775SET QUOTED_IDENTIFIER ON
8776GO
8777
8778
8779-- í´ëžœ ì •ë³´ 얻기
8780CREATE PROC [dbo].[spGetClanInfo]
8781 @CLID int
8782AS
8783SET NOCOUNT ON
8784
8785SELECT cl.CLID AS CLID, cl.Name AS Name, cl.TotalPoint AS TotalPoint, cl.Level AS Level, cl.Ranking AS Ranking,
8786cl.Point AS Point, cl.Wins AS Wins, cl.Losses AS Losses, cl.Draws AS Draws,
8787c.Name AS ClanMaster,
8788(SELECT COUNT(*) FROM ClanMember WHERE CLID=@CLID) AS MemberCount,
8789cl.EmblemUrl AS EmblemUrl, cl.EmblemChecksum AS EmblemChecksum
8790
8791FROM Clan cl(nolock), Character c(nolock)
8792WHERE cl.CLID=@CLID and cl.MasterCID=c.CID
8793
8794
8795
8796
8797
8798
8799
8800GO
8801/****** Object: StoredProcedure [dbo].[spGetClanList] Script Date: 28-05-2018 18:12:28 ******/
8802SET ANSI_NULLS ON
8803GO
8804SET QUOTED_IDENTIFIER ON
8805GO
8806
8807
8808/* í´ëžœ ëª©ë¡ ë³´ê¸°
8809 한페ì´ì§€ 15개씩 ê³ ì •, 최대 페ì´ì§€ 수를 위해 COUNT(*) 알아내지 ë§ê²ƒ.(ì´ì „,ë‹¤ìŒ íŽ˜ì´ì§€ë¡œ í•´ê²°)
8810 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8811 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8812CREATE PROC [dbo].[spGetClanList]
8813 @Page INT,
8814 @Backward INT = 0
8815AS
8816SET NOCOUNT ON
8817BEGIN
8818 DECLARE @PageHead INT
8819 DECLARE @RowCount INT
8820
8821 IF @Backward = 0
8822 BEGIN
8823 SELECT @RowCount = ((@Page -1) * 15 + 1)
8824
8825 SET ROWCOUNT @RowCount
8826 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID DESC
8827
8828 SET ROWCOUNT 15
8829 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
8830 FROM Clan cl(NOLOCK), Character c(nolock)
8831 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID<@PageHead
8832 ORDER BY cl.CLID DESC
8833 END
8834 ELSE
8835 BEGIN -- ì—순
8836 SELECT @RowCount = ((@Page -1) * 15 + 1)
8837
8838 SET ROWCOUNT @RowCount
8839 SELECT @PageHead = CLID FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY CLID
8840
8841 SET ROWCOUNT 15
8842 SELECT CLID, ClanName, Master, RegDate, EmblemUrl, Point
8843 FROM
8844 (
8845 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
8846 FROM Clan cl(NOLOCK), Character c(nolock)
8847 WHERE cl.MasterCID=c.CID AND cl.DeleteFlag=0 AND cl.CLID>=@PageHead ORDER BY cl.CLID
8848 ) AS t
8849 ORDER BY CLID DESC
8850 END
8851END
8852
8853
8854
8855
8856
8857GO
8858/****** Object: StoredProcedure [dbo].[spGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
8859SET ANSI_NULLS ON
8860GO
8861SET QUOTED_IDENTIFIER ON
8862GO
8863
8864
8865/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
8866 Arg1 : @CharName (í´ëžœì´ë¦„) */
8867CREATE PROC [dbo].[spGetClanListSearchByMaster]
8868 @CharName VARCHAR(24)
8869AS
8870SET NOCOUNT ON
8871BEGIN
8872
8873SELECT TOP 20 cl.CLID, cl.Name as ClanName, c.Name AS Master, cl.RegDate, cl.EmblemUrl, cl.Point
8874FROM Clan cl(NOLOCK), Character c(nolock)
8875
8876WHERE cl.DeleteFlag=0 AND cl.MasterCID=c.CID and c.Name=@CharName
8877ORDER BY cl.CLID
8878
8879END
8880
8881
8882
8883
8884
8885GO
8886/****** Object: StoredProcedure [dbo].[spGetClanListSearchByName] Script Date: 28-05-2018 18:12:28 ******/
8887SET ANSI_NULLS ON
8888GO
8889SET QUOTED_IDENTIFIER ON
8890GO
8891
8892
8893/* í´ëžœ 목ë¡ì°¾ê¸° (ì´ë¦„으로)
8894 Arg1 : @Name (í´ëžœì´ë¦„) */
8895CREATE PROC [dbo].[spGetClanListSearchByName]
8896 @Name VARCHAR(24)
8897AS
8898SET NOCOUNT ON
8899BEGIN
8900 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
8901 FROM Clan cl(NOLOCK), Character c(NOLOCK)
8902 WHERE cl.MasterCID=c.CID AND c.DeleteFlag=0 AND cl.Name=@Name
8903 ORDER BY cl.CLID
8904END
8905
8906
8907
8908
8909
8910GO
8911/****** Object: StoredProcedure [dbo].[spGetClanMember] Script Date: 28-05-2018 18:12:28 ******/
8912SET ANSI_NULLS ON
8913GO
8914SET QUOTED_IDENTIFIER ON
8915GO
8916
8917
8918-- í´ëžœì› 알아오기
8919CREATE PROC [dbo].[spGetClanMember]
8920 @CLID int
8921AS
8922 SET NOCOUNT ON
8923 SELECT cm.clid AS CLID, cm.Grade AS ClanGrade, c.cid AS CID, c.name AS CharName
8924 FROM ClanMember cm(nolock), Character c(nolock)
8925 WHERE CLID=@CLID AND cm.cid=c.cid
8926
8927
8928
8929
8930
8931GO
8932/****** Object: StoredProcedure [dbo].[spGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
8933SET ANSI_NULLS ON
8934GO
8935SET QUOTED_IDENTIFIER ON
8936GO
8937
8938
8939
8940-- Masterì´ë¦„ê³¼ RegDate추가.
8941/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
8942 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
8943 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
8944CREATE PROC [dbo].[spGetClanRanking]
8945 @Page INT,
8946 @Backward INT = 0
8947AS
8948SET NOCOUNT ON
8949BEGIN
8950 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
8951 DECLARE @RowCount INT
8952 DECLARE @PageHead INT
8953
8954 IF @Backward = 0
8955 BEGIN
8956 SELECT @RowCount = ((@Page -1) * 20 + 1)
8957 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
8958 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8959 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
8960 ORDER BY cl.Ranking
8961 END
8962 ELSE
8963 BEGIN
8964 SELECT @RowCount = ((@Page -1) * 20 + 1)
8965
8966 SET ROWCOUNT @RowCount
8967 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
8968
8969 SET ROWCOUNT 20
8970 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
8971 (
8972 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
8973 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
8974 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
8975 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
8976 ORDER BY cl.Ranking DESC
8977 ) AS t ORDER BY Ranking
8978 END
8979END
8980
8981
8982
8983
8984
8985GO
8986/****** Object: StoredProcedure [dbo].[spGetClanRankingHistory] Script Date: 28-05-2018 18:12:28 ******/
8987SET ANSI_NULLS ON
8988GO
8989SET QUOTED_IDENTIFIER ON
8990GO
8991
8992
8993/* í´ëžœ ì—대 ëží‚¹ì°¾ê¸°
8994 Arg1 : @Year (ë…„ë„)
8995 Arg2 : @Month (ì›”)
8996 Arg3 : @Page (페ì´ì§€)
8997 Arg4 : @Backward (ì—순) */
8998CREATE PROC [dbo].[spGetClanRankingHistory]
8999 @Year INT,
9000 @Month INT,
9001 @Page INT,
9002 @Backward INT = 0
9003AS
9004SET NOCOUNT ON
9005BEGIN
9006 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
9007 DECLARE @RowCount INT
9008 DECLARE @PageHead INT
9009
9010 IF @Backward = 0
9011 BEGIN
9012 SELECT @RowCount = ((@Page -1) * 20 + 1)
9013 SELECT TOP 20 Ranking, ClanName as ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9014 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking >= @RowCount ORDER BY Ranking
9015 END
9016 ELSE
9017 BEGIN
9018 SELECT @RowCount = ((@Page -1) * 20 + 1)
9019
9020 SET ROWCOUNT @RowCount
9021 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
9022
9023 SET ROWCOUNT 20
9024 SELECT Ranking, RankIncrease=0, ClanName, Point, Wins, Losses, CLID, EmblemUrl=NULL FROM
9025 (
9026 SELECT TOP 20 Ranking, ClanName, Point, Wins, Losses, CLID FROM ClanHonorRanking(NOLOCK)
9027 WHERE Year=@Year AND Month=@Month AND Ranking>0 AND Ranking <= @PageHead ORDER BY Ranking DESC
9028 ) AS t ORDER BY Ranking
9029 END
9030END
9031
9032
9033
9034
9035
9036
9037GO
9038/****** Object: StoredProcedure [dbo].[spGetClanRankingMaxPage] Script Date: 28-05-2018 18:12:28 ******/
9039SET ANSI_NULLS ON
9040GO
9041SET QUOTED_IDENTIFIER ON
9042GO
9043
9044
9045CREATE PROC [dbo].[spGetClanRankingMaxPage]
9046AS
9047SET NOCOUNT ON
9048BEGIN
9049 DECLARE @MaxPage INT
9050 SELECT TOP 1 @MaxPage = Ranking / 20 + 1 FROM Clan(NOLOCK) WHERE DeleteFlag=0 AND Ranking>0 ORDER BY Ranking DESC
9051-- SELECT @MaxPage
9052 RETURN @MaxPage
9053END
9054
9055
9056
9057
9058
9059
9060GO
9061/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
9062SET ANSI_NULLS ON
9063GO
9064SET QUOTED_IDENTIFIER OFF
9065GO
9066
9067
9068CREATE PROC [dbo].[spGetClanRankingSearchByName]
9069 @Name VARCHAR(24)
9070AS
9071SET NOCOUNT ON
9072BEGIN
9073 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9074 WHERE DeleteFlag=0 AND Ranking>0 AND Name=@Name ORDER BY Ranking
9075END
9076
9077
9078
9079
9080
9081
9082GO
9083/****** Object: StoredProcedure [dbo].[spGetClanRankingSearchByRanking] Script Date: 28-05-2018 18:12:28 ******/
9084SET ANSI_NULLS ON
9085GO
9086SET QUOTED_IDENTIFIER ON
9087GO
9088
9089
9090/* í´ëžœ ëží‚¹ì°¾ê¸° (순위로)
9091 Arg1 : @Ranking (순위) */
9092CREATE PROC [dbo].[spGetClanRankingSearchByRanking]
9093 @Ranking INT
9094AS
9095SET NOCOUNT ON
9096BEGIN
9097 SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl FROM Clan(NOLOCK)
9098 WHERE DeleteFlag=0 AND Ranking>0 AND Ranking=@Ranking ORDER BY Ranking
9099END
9100
9101
9102
9103
9104
9105
9106GO
9107/****** Object: StoredProcedure [dbo].[spGetCLIDFromClanName] Script Date: 28-05-2018 18:12:28 ******/
9108SET ANSI_NULLS ON
9109GO
9110SET QUOTED_IDENTIFIER ON
9111GO
9112
9113
9114
9115-- í´ëžœì´ë¦„으로 CLID알아오기
9116CREATE PROC [dbo].[spGetCLIDFromClanName]
9117 @ClanName varchar(24)
9118AS
9119 SET NOCOUNT ON
9120 SELECT CLID FROM Clan(NOLOCK) WHERE Name=@ClanName
9121
9122
9123
9124
9125
9126GO
9127/****** Object: StoredProcedure [dbo].[spGetFriendList] Script Date: 28-05-2018 18:12:28 ******/
9128SET ANSI_NULLS ON
9129GO
9130SET QUOTED_IDENTIFIER ON
9131GO
9132
9133
9134-- 친구 ëª©ë¡ ê°€ì ¸ì˜¤ê¸°
9135CREATE PROC [dbo].[spGetFriendList]
9136 @CID int
9137AS
9138SET NOCOUNT ON
9139SELECT f.FriendCID, f.Favorite, c.Name
9140FROM Friend f(NOLOCK), Character c(NOLOCK)
9141WHERE f.CID=@CID AND f.FriendCID=c.CID AND f.DeleteFlag=0 AND f.Type=1
9142
9143
9144
9145
9146
9147GO
9148/****** Object: StoredProcedure [dbo].[spGetHourMaxPlayerCount] Script Date: 28-05-2018 18:12:28 ******/
9149SET ANSI_NULLS ON
9150GO
9151SET QUOTED_IDENTIFIER ON
9152GO
9153
9154CREATE proc [dbo].[spGetHourMaxPlayerCount]
9155 @begin smalldatetime
9156, @end smalldatetime
9157as
9158 set nocount on
9159
9160 if 0 <> datediff(dd, @begin, @end) return
9161
9162 select t.hour, max(t.playercount) as maxplayercount
9163 from
9164 (
9165 select datepart(hh, time) as hour, sum(playercount) as playercount
9166 from logdb.game.serverlogstorage(nolock)
9167 where time >= @begin and time <= @end
9168 group by time
9169 ) as t
9170 group by t.hour
9171 order by t.hour
9172
9173
9174
9175
9176GO
9177/****** Object: StoredProcedure [dbo].[spGetIPCountryCode] Script Date: 28-05-2018 18:12:28 ******/
9178SET ANSI_NULLS ON
9179GO
9180SET QUOTED_IDENTIFIER ON
9181GO
9182
9183CREATE PROC [dbo].[spGetIPCountryCode]
9184 @IP char(15)
9185AS
9186 SET NOCOUNT ON
9187
9188 DECLARE @IPNumber BIGINT
9189 SET @IPNumber = TestDB.game.inet_aton(@IP)
9190
9191 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
9192 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9193
9194
9195
9196
9197
9198GO
9199/****** Object: StoredProcedure [dbo].[spGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
9200SET ANSI_NULLS ON
9201GO
9202SET QUOTED_IDENTIFIER OFF
9203GO
9204
9205CREATE PROCEDURE [dbo].[spGetIPtoCountry]
9206@IP VARCHAR(15),
9207@Code VARCHAR(3) OUTPUT
9208AS
9209BEGIN
9210 DECLARE @IPNumber BIGINT
9211 SELECT @IPNumber=TestDB.game.inet_aton(@IP)
9212
9213 SELECT @Code=CountryCode3 FROM IPtoCountry(NOLOCK)
9214 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
9215END
9216
9217
9218
9219
9220
9221
9222GO
9223/****** Object: StoredProcedure [dbo].[spGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
9224SET ANSI_NULLS ON
9225GO
9226SET QUOTED_IDENTIFIER ON
9227GO
9228
9229CREATE PROC [dbo].[spGetIPtoCountryList]
9230AS
9231 SELECT IPFrom, IPTo, CountryCode3
9232 FROM IPtoCountry(NOLOCK)
9233 ORDER BY IPFrom
9234
9235
9236
9237
9238GO
9239/****** Object: StoredProcedure [dbo].[spGetLadderTeamMemberByCID] Script Date: 28-05-2018 18:12:28 ******/
9240SET ANSI_NULLS ON
9241GO
9242SET QUOTED_IDENTIFIER ON
9243GO
9244
9245
9246-- 팀멤버 얻어오기
9247CREATE PROC [dbo].[spGetLadderTeamMemberByCID]
9248 @CID int
9249AS
9250RETURN
9251
9252
9253
9254
9255
9256GO
9257/****** Object: StoredProcedure [dbo].[spGetLoginInfo] Script Date: 28-05-2018 18:12:28 ******/
9258SET ANSI_NULLS ON
9259GO
9260SET QUOTED_IDENTIFIER ON
9261GO
9262
9263
9264/* LoginInfo 얻어옴 */
9265CREATE PROC [dbo].[spGetLoginInfo]
9266 @UserID varchar(20)
9267AS
9268SET NOCOUNT ON
9269SELECT AID, UserID, PasswordData FROM Login(nolock) WHERE UserID = @UserID
9270
9271
9272
9273
9274
9275
9276
9277GO
9278/****** Object: StoredProcedure [dbo].[spGetNewCashItem] Script Date: 28-05-2018 18:12:28 ******/
9279SET ANSI_NULLS ON
9280GO
9281SET QUOTED_IDENTIFIER ON
9282GO
9283
9284
9285CREATE PROC [dbo].[spGetNewCashItem]
9286 @ItemCount int = 0
9287AS
9288SET NoCount On
9289
9290IF @ItemCount != 0
9291BEGIN
9292 SET ROWCOUNT @ItemCount
9293END
9294
9295 SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
9296 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
9297 i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
9298 i.Description AS Description, cs.RentType AS RentType
9299 FROM CashShop cs (nolock) , Item i (nolock)
9300 WHERE i.ItemID = cs.ItemID AND cs.NewItemOrder > 0 AND Opened=1
9301 order by cs.NewItemOrder asc
9302
9303
9304
9305
9306
9307
9308GO
9309/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9310SET ANSI_NULLS ON
9311GO
9312SET QUOTED_IDENTIFIER ON
9313GO
9314
9315
9316-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 보기
9317CREATE PROC [dbo].[spGetRentCashSetShopPrice]
9318 @CSSID int
9319AS
9320 SET NOCOUNT ON
9321 SELECT RentHourPeriod, CashPrice
9322 FROM RentCashSetShopPrice(nolock) WHERE CSSID = @CSSID
9323 ORDER BY CashPrice
9324
9325
9326
9327
9328
9329
9330GO
9331/****** Object: StoredProcedure [dbo].[spGetRentCashSetShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9332SET ANSI_NULLS ON
9333GO
9334SET QUOTED_IDENTIFIER ON
9335GO
9336
9337
9338CREATE PROC [dbo].[spGetRentCashSetShopPriceByHour]
9339 @CSSID int
9340, @RentHourPeriod smallint
9341AS
9342 SET NOCOUNT ON
9343 IF @RentHourPeriod IS NOT NULL
9344 BEGIN
9345 -- ê¸°ê°„ì œ ì•„ì´í…œ
9346 SELECT CashPrice
9347 FROM RentCashSetShopPrice(nolock)
9348 WHERE CSSID = @CSSID AND RentHourPeriod = @RentHourPeriod
9349 END
9350 ELSE IF @RentHourPeriod IS NULL
9351 BEGIN
9352 -- ì˜êµ¬ ì•„ì´í…œ.
9353 SELECT CashPrice
9354 FROM RentCashSetShopPrice(nolock)
9355 WHERE CSSID = @CSSID AND RentHourPeriod IS NULL
9356 END
9357
9358
9359
9360
9361
9362
9363GO
9364/****** Object: StoredProcedure [dbo].[spGetRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
9365SET ANSI_NULLS ON
9366GO
9367SET QUOTED_IDENTIFIER ON
9368GO
9369
9370
9371-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 보기
9372CREATE PROC [dbo].[spGetRentCashShopPrice]
9373 @CSID int
9374AS
9375 SET NOCOUNT ON
9376 SELECT RentHourPeriod, CashPrice
9377 FROM RentCashShopPrice(nolock) WHERE CSID = @CSID
9378 ORDER BY CashPrice
9379
9380
9381
9382
9383
9384
9385GO
9386/****** Object: StoredProcedure [dbo].[spGetRentCashShopPriceByHour] Script Date: 28-05-2018 18:12:28 ******/
9387SET ANSI_NULLS ON
9388GO
9389SET QUOTED_IDENTIFIER ON
9390GO
9391
9392
9393CREATE PROC [dbo].[spGetRentCashShopPriceByHour]
9394 @CSID int
9395, @RentHourPeriod smallint
9396AS
9397 SET NOCOUNT ON
9398 IF @RentHourPeriod IS NOT NULL
9399 BEGIN
9400 -- ê¸°ê°„ì œ ì•„ì´í…œ
9401 SELECT CashPrice
9402 FROM RentCashShopPrice (nolock)
9403 WHERE CSID = @CSID AND RentHourPeriod = @RentHourPeriod
9404 END
9405 ELSE IF @RentHourPeriod IS NULL
9406 BEGIN
9407 -- ì˜êµ¬ ì•„ì´í…œ
9408 SELECT CashPrice
9409 FROM RentCashShopPrice (nolock)
9410 WHERE CSID = @CSID AND RentHourPeriod IS NULL
9411 END
9412
9413
9414
9415
9416
9417
9418
9419
9420GO
9421/****** Object: StoredProcedure [dbo].[spGetSexInfo] Script Date: 28-05-2018 18:12:28 ******/
9422SET ANSI_NULLS ON
9423GO
9424SET QUOTED_IDENTIFIER ON
9425GO
9426
9427
9428CREATE PROC [dbo].[spGetSexInfo]
9429 @AID int
9430AS
9431SET NOCOUNT ON
9432SELECT Sex, RegNum, Email FROM Account WHERE AID=@AID
9433
9434
9435
9436
9437
9438GO
9439/****** Object: StoredProcedure [dbo].[spGetTotalRanking] Script Date: 28-05-2018 18:12:28 ******/
9440SET ANSI_NULLS ON
9441GO
9442SET QUOTED_IDENTIFIER ON
9443GO
9444
9445
9446
9447/* ì „ì²´ ëží‚¹ 보기 */
9448CREATE PROC [dbo].[spGetTotalRanking]
9449 @MinRank int,
9450 @MaxRank int
9451AS
9452SET NOCOUNT ON
9453
9454SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount FROM TotalRanking(nolock)
9455WHERE Rank BETWEEN @MinRank AND @MaxRank
9456ORDER BY Rank
9457
9458
9459
9460
9461
9462
9463GO
9464/****** Object: StoredProcedure [dbo].[spInsertChar] Script Date: 28-05-2018 18:12:28 ******/
9465SET ANSI_NULLS ON
9466GO
9467SET QUOTED_IDENTIFIER ON
9468GO
9469
9470
9471/* ìºë¦í„° 추가 */
9472CREATE PROC [dbo].[spInsertChar]
9473 @AID int,
9474 @CharNum smallint,
9475 @Name varchar(24),
9476 @Sex tinyint,
9477 @Hair int,
9478 @Face int,
9479 @Costume int
9480AS
9481SET NOCOUNT ON
9482BEGIN TRAN
9483IF EXISTS (SELECT CID FROM Character where (AID=@AID AND CharNum=@CharNum) OR (Name=@Name))
9484BEGIN
9485 ROLLBACK TRAN
9486 return(-1)
9487END
9488
9489DECLARE @CharIdent int
9490DECLARE @ChestCIID int
9491DECLARE @LegsCIID int
9492DECLARE @MeleeCIID int
9493DECLARE @PrimaryCIID int
9494DECLARE @SecondaryCIID int
9495DECLARE @Custom1CIID int
9496DECLARE @Custom2CIID int
9497
9498DECLARE @ChestItemID int
9499DECLARE @LegsItemID int
9500DECLARE @MeleeItemID int
9501DECLARE @PrimaryItemID int
9502DECLARE @SecondaryItemID int
9503DECLARE @Custom1ItemID int
9504DECLARE @Custom2ItemID int
9505
9506SET @SecondaryCIID = NULL
9507SET @SecondaryItemID = NULL
9508
9509SET @Custom1CIID = NULL
9510SET @Custom1ItemID = NULL
9511
9512SET @Custom2CIID = NULL
9513SET @Custom2ItemID = NULL
9514
9515INSERT INTO Character (AID, Name, CharNum, Level, Sex, Hair, Face, XP, BP, FR, CR, ER, WR,
9516 GameCount, KillCount, DeathCount, RegDate, PlayTime, DeleteFlag)
9517Values (@AID, @Name, @CharNum, 1, @Sex, @Hair, @Face, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), 0, 0)
9518IF 0 <> @@ERROR BEGIN
9519 ROLLBACK TRAN
9520 RETURN (-1)
9521END
9522
9523
9524SET @CharIdent = @@IDENTITY
9525
9526 /* Melee */
9527 SET @MeleeItemID =
9528 CASE @Costume
9529 WHEN 0 THEN 1
9530 WHEN 1 THEN 2
9531 WHEN 2 THEN 1
9532 WHEN 3 THEN 2
9533 WHEN 4 THEN 2
9534 WHEN 5 THEN 1
9535 END
9536
9537 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @MeleeItemID)
9538 IF 0 <> @@ERROR BEGIN
9539 ROLLBACK TRAN
9540 RETURN (-1)
9541 END
9542
9543 SET @MeleeCIID = @@IDENTITY
9544
9545 /* Primary */
9546 SET @PrimaryItemID =
9547 CASE @Costume
9548 WHEN 0 THEN 5001
9549 WHEN 1 THEN 5002
9550 WHEN 2 THEN 4005
9551 WHEN 3 THEN 4001
9552 WHEN 4 THEN 4002
9553 WHEN 5 THEN 4006
9554 END
9555
9556 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @PrimaryItemID)
9557 IF 0 <> @@ERROR BEGIN
9558 ROLLBACK TRAN
9559 RETURN (-1)
9560 END
9561
9562 SET @PrimaryCIID = @@IDENTITY
9563
9564 /* Secondary */
9565IF @Costume = 0 OR @Costume = 2 BEGIN
9566 SET @SecondaryItemID =
9567 CASE @Costume
9568 WHEN 0 THEN 4001
9569 WHEN 1 THEN 0
9570 WHEN 2 THEN 5001
9571 WHEN 3 THEN 4006
9572 WHEN 4 THEN 0
9573 WHEN 5 THEN 4006
9574 END
9575
9576 IF @SecondaryItemID <> 0 BEGIN
9577 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @SecondaryItemID)
9578 IF 0 <> @@ERROR BEGIN
9579 ROLLBACK TRAN
9580 RETURN (-1)
9581 END
9582
9583 SET @SecondaryCIID = @@IDENTITY
9584 END
9585END
9586 SET @Custom1ItemID =
9587 CASE @Costume
9588 WHEN 0 THEN 30301
9589 WHEN 1 THEN 30301
9590 WHEN 2 THEN 30401
9591 WHEN 3 THEN 30401
9592 WHEN 4 THEN 30401
9593 WHEN 5 THEN 30101
9594 END
9595
9596 /* Custom1 */
9597 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom1ItemID)
9598 IF 0 <> @@ERROR BEGIN
9599 ROLLBACK TRAN
9600 RETURN (-1)
9601 END
9602
9603 SET @Custom1CIID = @@IDENTITY
9604
9605 /* Custom2 */
9606IF @Costume = 4 OR @Costume = 5
9607BEGIN
9608 SET @Custom2ItemID =
9609 CASE @Costume
9610 WHEN 0 THEN 0
9611 WHEN 1 THEN 0
9612 WHEN 2 THEN 0
9613 WHEN 3 THEN 0
9614 WHEN 4 THEN 30001
9615 WHEN 5 THEN 30001
9616 END
9617
9618 IF @Custom2ItemID <> 0
9619 BEGIN
9620 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom2ItemID)
9621 IF 0 <> @@ERROR BEGIN
9622 ROLLBACK TRAN
9623 RETURN (-1)
9624 END
9625
9626 SET @Custom2CIID = @@IDENTITY
9627 END
9628END
9629
9630
9631IF @Sex = 0 /* 남ìžì¼ 경우 */
9632BEGIN
9633
9634 /* Chest */
9635 SET @ChestItemID =
9636 CASE @Costume
9637 WHEN 0 THEN 21001
9638 WHEN 1 THEN 21001
9639 WHEN 2 THEN 21001
9640 WHEN 3 THEN 21001
9641 WHEN 4 THEN 21001
9642 WHEN 5 THEN 21001
9643 END
9644
9645
9646 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9647 IF 0 <> @@ERROR BEGIN
9648 ROLLBACK TRAN
9649 RETURN (-1)
9650 END
9651
9652 SET @ChestCIID = @@IDENTITY
9653
9654 /* Legs */
9655 SET @LegsItemID =
9656 CASE @Costume
9657 WHEN 0 THEN 23001
9658 WHEN 1 THEN 23001
9659 WHEN 2 THEN 23001
9660 WHEN 3 THEN 23001
9661 WHEN 4 THEN 23001
9662 WHEN 5 THEN 23001
9663 END
9664
9665
9666 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9667 IF 0 <> @@ERROR BEGIN
9668 ROLLBACK TRAN
9669 RETURN (-1)
9670 END
9671
9672 SET @LegsCIID = @@IDENTITY
9673
9674END
9675ELSE
9676BEGIN /* ì—¬ìžì¼ 경우 */
9677
9678 /* Chest */
9679 SET @ChestItemID =
9680 CASE @Costume
9681 WHEN 0 THEN 21501
9682 WHEN 1 THEN 21501
9683 WHEN 2 THEN 21501
9684 WHEN 3 THEN 21501
9685 WHEN 4 THEN 21501
9686 WHEN 5 THEN 21501
9687 END
9688
9689
9690 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
9691 IF 0 <> @@ERROR BEGIN
9692 ROLLBACK TRAN
9693 RETURN (-1)
9694 END
9695 SET @ChestCIID = @@IDENTITY
9696
9697 /* Legs */
9698 SET @LegsItemID =
9699 CASE @Costume
9700 WHEN 0 THEN 23501
9701 WHEN 1 THEN 23501
9702 WHEN 2 THEN 23501
9703 WHEN 3 THEN 23501
9704 WHEN 4 THEN 23501
9705 WHEN 5 THEN 23501
9706 END
9707
9708
9709 INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
9710 IF 0 <> @@ERROR BEGIN
9711 ROLLBACK TRAN
9712 RETURN (-1)
9713 END
9714 SET @LegsCIID = @@IDENTITY
9715
9716END
9717
9718UPDATE Character
9719SET chest_slot = @ChestCIID, legs_slot = @LegsCIID, melee_slot = @MeleeCIID,
9720 primary_slot = @PrimaryCIID, secondary_slot = @SecondaryCIID, custom1_slot = @Custom1CIID,
9721 custom2_slot = @Custom2CIID,
9722 chest_itemid = @ChestItemID, legs_itemid = @LegsItemID, melee_itemid = @MeleeItemID,
9723 primary_itemid = @PrimaryItemID, secondary_itemid = @SecondaryItemID, custom1_itemid = @Custom1ItemID,
9724 custom2_itemid = @Custom2ItemID
9725WHERE CID=@CharIdent
9726IF 0 = @@ROWCOUNT BEGIN
9727 ROLLBACK TRAN
9728 RETURN (-1)
9729END
9730COMMIT TRAN
9731
9732
9733
9734
9735
9736
9737GO
9738/****** Object: StoredProcedure [dbo].[spInsertCharItem] Script Date: 28-05-2018 18:12:28 ******/
9739SET ANSI_NULLS ON
9740GO
9741SET QUOTED_IDENTIFIER ON
9742GO
9743
9744
9745/* ìºë¦í„° ì•„ì´í…œ 추가 - 땜빵 */
9746CREATE PROC [dbo].[spInsertCharItem]
9747 @CID int,
9748 @ItemID int
9749AS
9750SET NOCOUNT ON
9751
9752DECLARE @OrderCIID int
9753DECLARE @varBP int
9754-- 땜빵
9755SELECT @varBP = BP FROM Character where CID=@CID
9756IF @varBP < 0
9757BEGIN
9758 UPDATE Character SET BP=0 WHERE CID=@CID
9759 RETURN (-1)
9760END
9761
9762
9763BEGIN TRAN
9764INSERT INTO CharacterItem (CID, ItemID, RegDate) Values (@CID, @ItemID, GETDATE())
9765IF 0 <> @@ERROR BEGIN
9766 ROLLBACK TRAN
9767 RETURN (-1)
9768END
9769COMMIT TRAN
9770
9771SET @OrderCIID = @@IDENTITY
9772SELECT @OrderCIID as ORDERCIID
9773
9774
9775
9776
9777
9778
9779
9780GO
9781/****** Object: StoredProcedure [dbo].[spInsertCharMakingLog] Script Date: 28-05-2018 18:12:28 ******/
9782SET ANSI_NULLS ON
9783GO
9784SET QUOTED_IDENTIFIER ON
9785GO
9786
9787
9788
9789/* ìºë¦í„° ìƒì„± 로그 */
9790CREATE PROC [dbo].[spInsertCharMakingLog]
9791 @AID int,
9792 @CharName varchar(32),
9793 @Type varchar(20)
9794AS
9795SET NOCOUNT ON
9796BEGIN TRAN
9797INSERT INTO CharacterMakingLog (AID, CharName, Type, Date)
9798VALUES (@AID, @CharName, @Type, GETDATE())
9799IF 0 <> @@ERROR BEGIN
9800 ROLLBACK TRAN
9801 RETURN
9802END
9803COMMIT TRAN
9804
9805
9806
9807
9808
9809GO
9810/****** Object: StoredProcedure [dbo].[spInsertConnLog] Script Date: 28-05-2018 18:12:28 ******/
9811SET ANSI_NULLS ON
9812GO
9813SET QUOTED_IDENTIFIER OFF
9814GO
9815
9816CREATE PROC [dbo].[spInsertConnLog]
9817 @AID int
9818, @IPPart1 tinyint
9819, @IPPart2 tinyint
9820, @IPPart3 tinyint
9821, @IPPart4 tinyint
9822, @CountryCode3 char(3)
9823AS
9824 SET NOCOUNT ON
9825 INSERT INTO LogDB.game.ConnLog( AID, Time, IPPart1, IPPart2, IPPart3, IPPart4, CountryCode3)
9826 VALUES (@AID, GETDATE(), @IPPart1, @IPPart2, @IPPart3, @IPPart4, @CountryCode3)
9827
9828
9829
9830
9831GO
9832/****** Object: StoredProcedure [dbo].[spInsertEvent] Script Date: 28-05-2018 18:12:28 ******/
9833SET ANSI_NULLS ON
9834GO
9835SET QUOTED_IDENTIFIER ON
9836GO
9837
9838CREATE PROC [dbo].[spInsertEvent]
9839 @AID int
9840, @CID int
9841, @EventName varchar(24)
9842AS
9843 SET NOCOUNT ON
9844 INSERT INTO Event( AID, CID, RegDate, Checked, EventName )
9845 VALUES (@AID, @CID, GETDATE(), 0, @EventName)
9846
9847
9848
9849
9850
9851GO
9852/****** Object: StoredProcedure [dbo].[spInsertGameLog] Script Date: 28-05-2018 18:12:28 ******/
9853SET ANSI_NULLS ON
9854GO
9855SET QUOTED_IDENTIFIER ON
9856GO
9857
9858
9859
9860/* 게임 로그 추가 */
9861CREATE PROC [dbo].[spInsertGameLog]
9862 @GameName varchar(64),
9863 @Map varchar(32),
9864 @GameType varchar(24),
9865 @Round int,
9866 @MasterCID int,
9867 @PlayerCount tinyint,
9868 @Players varchar(1000)
9869
9870AS
9871SET NOCOUNT ON
9872BEGIN TRAN
9873INSERT INTO GameLog (GameName, Map, GameType, Round, MasterCID, StartTime, PlayerCount, Players)
9874VALUES (@GameName, @Map, @GameType, @Round, @MasterCID, GETDATE(), @PlayerCount, @Players)
9875IF 0 <> @@ERROR BEGIN
9876 ROLLBACK TRAN
9877 RETURN
9878END
9879COMMIT TRAN
9880
9881
9882
9883
9884
9885GO
9886/****** Object: StoredProcedure [dbo].[spInsertItemPurchaseLogByBounty] Script Date: 28-05-2018 18:12:28 ******/
9887SET ANSI_NULLS ON
9888GO
9889SET QUOTED_IDENTIFIER ON
9890GO
9891
9892
9893
9894/* ì•„ì´í…œ 구매(바운티) 로그 */
9895CREATE PROC [dbo].[spInsertItemPurchaseLogByBounty]
9896 @ItemID int,
9897 @CID int,
9898 @Bounty int,
9899 @CharBounty int,
9900 @Type varchar(20)
9901AS
9902SET NOCOUNT ON
9903INSERT INTO ItemPurchaseLogByBounty
9904 (ItemID, CID, Date, Bounty, CharBounty, Type)
9905VALUES
9906 (@ItemID, @CID, GETDATE(), @Bounty, @CharBounty, @Type)
9907
9908
9909
9910
9911
9912GO
9913/****** Object: StoredProcedure [dbo].[spInsertKillLog] Script Date: 28-05-2018 18:12:28 ******/
9914SET ANSI_NULLS ON
9915GO
9916SET QUOTED_IDENTIFIER ON
9917GO
9918
9919
9920
9921/* 킬 로그 추가 */
9922CREATE PROC [dbo].[spInsertKillLog]
9923 @AttackerCID int,
9924 @VictimCID int
9925AS
9926SET NOCOUNT ON
9927BEGIN TRAN
9928INSERT INTO KillLog (AttackerCID, VictimCID, Time)
9929VALUES (@AttackerCID, @VictimCID, GETDATE())
9930IF 0 <> @@ERROR BEGIN
9931 ROLLBACK TRAN
9932 RETURN
9933END
9934COMMIT TRAN
9935
9936
9937
9938
9939
9940GO
9941/****** Object: StoredProcedure [dbo].[spInsertLevelUpLog] Script Date: 28-05-2018 18:12:28 ******/
9942SET ANSI_NULLS ON
9943GO
9944SET QUOTED_IDENTIFIER ON
9945GO
9946
9947
9948
9949
9950-- ë ˆë²¨ì—… 로그 추가
9951CREATE PROC [dbo].[spInsertLevelUpLog]
9952 @CID int,
9953 @Level smallint,
9954 @BP int,
9955 @KillCount int,
9956 @DeathCount int,
9957 @PlayTime int
9958AS
9959SET NOCOUNT ON
9960BEGIN TRAN
9961 INSERT INTO LevelUpLog(CID, Level, BP, KillCount, DeathCount, PlayTime, Date)
9962 VALUES (@CID, @Level, @BP, @KillCount, @DeathCount, @PlayTime, GETDATE())
9963 IF 0 <> @@ERROR BEGIN
9964 ROLLBACK TRAN
9965 RETURN
9966 END
9967COMMIT TRAN
9968
9969
9970
9971
9972
9973GO
9974/****** Object: StoredProcedure [dbo].[spInsertLocatorLog] Script Date: 28-05-2018 18:12:28 ******/
9975SET ANSI_NULLS ON
9976GO
9977SET QUOTED_IDENTIFIER ON
9978GO
9979
9980CREATE PROC [dbo].[spInsertLocatorLog]
9981 @LocatorID int
9982, @CountryCode3 varchar(3)
9983, @Count int
9984AS
9985 SET NOCOUNT ON
9986 INSERT INTO LogDB.game.LocatorLog(LocatorID, CountryCode3, Count, RegDate)
9987 VALUES (@LocatorID, @CountryCode3, @Count, GETDATE())
9988
9989
9990
9991
9992
9993GO
9994/****** Object: StoredProcedure [dbo].[spInsertPlayerLog] Script Date: 28-05-2018 18:12:28 ******/
9995SET ANSI_NULLS ON
9996GO
9997SET QUOTED_IDENTIFIER ON
9998GO
9999
10000
10001/* í”Œë ˆì´ì–´ 로그 */
10002CREATE PROC [dbo].[spInsertPlayerLog]
10003 @CID int,
10004 @PlayTime int,
10005 @Kills int,
10006 @Deaths int,
10007 @XP int,
10008 @TotalXP int
10009AS
10010SET NOCOUNT ON
10011BEGIN TRAN
10012INSERT INTO PlayerLog (CID, DisTime, PlayTime, Kills, Deaths, XP, TotalXP)
10013VALUES (@CID, GETDATE(), @PlayTime, @Kills, @Deaths, @XP, @TotalXP)
10014IF 0 <> @@ERROR BEGIN
10015 ROLLBACK TRAN
10016 RETURN
10017END
10018COMMIT TRAN
10019
10020
10021
10022
10023
10024GO
10025/****** Object: StoredProcedure [dbo].[spInsertQuestGameLog] Script Date: 28-05-2018 18:12:28 ******/
10026SET ANSI_NULLS ON
10027GO
10028SET QUOTED_IDENTIFIER ON
10029GO
10030
10031
10032-- 퀘스트 게임 로그 ì •ë³´ ì €ìž¥ í”„ë¡œì‹œì ¸.
10033CREATE PROC [dbo].[spInsertQuestGameLog]
10034 @GameName varchar(64)
10035, @Master int
10036, @Player1 int
10037, @Player2 int
10038, @Player3 int
10039, @TotalQItemCount smallint
10040, @ScenarioID smallint
10041, @GamePlayTime tinyint
10042AS
10043SET NOCOUNT ON
10044
10045BEGIN TRAN
10046 INSERT INTO QuestGameLog(GameName, Master, Player1, Player2, Player3, TotalQItemCount, ScenarioID, StartTime, EndTime)
10047 VALUES (@GameName, @Master, @Player1, @Player2, @Player3, @TotalQItemCount, @ScenarioID, DATEADD(n, -(@GamePlayTime), GETDATE()), GETDATE() )
10048 IF 0 <> @@ERROR BEGIN -- 여기 추가.
10049 ROLLBACK TRAN
10050 RETURN
10051 END
10052
10053 SELECT @@IDENTITY AS 'ORDERQGLID'
10054COMMIT TRAN
10055
10056
10057
10058
10059
10060
10061GO
10062/****** Object: StoredProcedure [dbo].[spInsertQUniqueItemLog] Script Date: 28-05-2018 18:12:28 ******/
10063SET ANSI_NULLS ON
10064GO
10065SET QUOTED_IDENTIFIER ON
10066GO
10067
10068
10069-- 퀘스트 ìœ ë‹ˆí¬ ì•„ì´í…œ ì €ìž¥ í”„ë¡œì‹œì ¸.
10070CREATE PROC [dbo].[spInsertQUniqueItemLog]
10071 @QGLID int
10072, @CID int
10073, @QIID int
10074AS
10075BEGIN
10076 SET NOCOUNT ON
10077 INSERT INTO QUniqueItemLog(QGLID, CID, QIID) VALUES (@QGLID, @CID, @QIID)
10078END
10079
10080
10081
10082
10083
10084
10085GO
10086/****** Object: StoredProcedure [dbo].[spInsertRentCashSetShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10087SET ANSI_NULLS ON
10088GO
10089SET QUOTED_IDENTIFIER ON
10090GO
10091
10092
10093-- ê¸°ê°„ì œ 세트 ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10094CREATE PROC [dbo].[spInsertRentCashSetShopPrice]
10095 @CSSID int,
10096 @RentHourPeriod smallint,
10097 @CashPrice int
10098AS
10099 SET NOCOUNT ON
10100 INSERT INTO RentCashSetShopPrice(CSSID, RentHourPeriod, CashPrice)
10101 VALUES (@CSSID, @RentHourPeriod, @CashPrice)
10102
10103
10104
10105
10106
10107GO
10108/****** Object: StoredProcedure [dbo].[spInsertRentCashShopPrice] Script Date: 28-05-2018 18:12:28 ******/
10109SET ANSI_NULLS ON
10110GO
10111SET QUOTED_IDENTIFIER ON
10112GO
10113
10114
10115-- ê¸°ê°„ì œ ì•„ì´í…œ ìƒí’ˆ 가격 ìž…ë ¥
10116CREATE PROC [dbo].[spInsertRentCashShopPrice]
10117 @CSID int
10118, @RentHourPeriod smallint
10119, @CashPrice int
10120AS
10121 SET NOCOUNT ON
10122 INSERT INTO RentCashShopPrice (CSID, RentHourPeriod, CashPrice)
10123 VALUES (@CSID, @RentHourPeriod, @CashPrice)
10124
10125
10126
10127
10128
10129GO
10130/****** Object: StoredProcedure [dbo].[spInsertServerLog] Script Date: 28-05-2018 18:12:28 ******/
10131SET ANSI_NULLS ON
10132GO
10133SET QUOTED_IDENTIFIER OFF
10134GO
10135
10136CREATE PROC [dbo].[spInsertServerLog]
10137 @ServerID smallint
10138, @PlayerCount smallint
10139, @GameCount smallint
10140, @BlockCount int
10141, @NonBlockCount int
10142AS
10143 SET NOCOUNT ON
10144 INSERT INTO ServerLog(ServerID, PlayerCount,
10145 GameCount, Time, BlockCount, NonBlockCount)
10146 VALUES (@ServerID, @PlayerCount, @GameCount,
10147 GETDATE(), @BlockCount, @NonBlockCount )
10148
10149
10150
10151
10152GO
10153/****** Object: StoredProcedure [dbo].[spIPFltCheckIsDuplicateRange] Script Date: 28-05-2018 18:12:28 ******/
10154SET ANSI_NULLS ON
10155GO
10156SET QUOTED_IDENTIFIER OFF
10157GO
10158
10159CREATE PROC [dbo].[spIPFltCheckIsDuplicateRange]
10160 @IPFrom bigint
10161, @IPTo bigint
10162, @Ret int OUTPUT
10163AS
10164 SET NOCOUNT ON
10165 IF EXISTS (SELECT CountryCode3 FROM CustomIP(NOLOCK)
10166 WHERE (IPFrom <= @IPFrom AND IPTo >= @IPFrom) OR
10167 (IPFrom <= @IPTo AND IPTo >= @IPTo)) SET @Ret = 1
10168 ELSE SET @Ret = 0
10169
10170
10171
10172
10173GO
10174/****** Object: StoredProcedure [dbo].[spIPFltDeleteCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10175SET ANSI_NULLS ON
10176GO
10177SET QUOTED_IDENTIFIER OFF
10178GO
10179
10180CREATE PROC [dbo].[spIPFltDeleteCustomIP]
10181 @IPFrom varchar(15)
10182, @IPTo varchar(15)
10183, @Ret int OUTPUT
10184AS
10185 SET NOCOUNT ON
10186 DECLARE @TmpIPFrom BIGINT
10187 DECLARE @TmpIPTo BIGINT
10188
10189 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10190 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10191 IF @TmpIPFrom > @TmpIPTo BEGIN
10192 SET @Ret = 0
10193 RETURN @Ret
10194 END
10195
10196 DELETE CustomIP WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10197 IF 0 <> @@ERROR SET @Ret = 0
10198 ELSE SET @Ret = 1
10199 RETURN @Ret
10200
10201
10202
10203
10204GO
10205/****** Object: StoredProcedure [dbo].[spIPFltGetBlockCountryCodeList] Script Date: 28-05-2018 18:12:28 ******/
10206SET ANSI_NULLS ON
10207GO
10208SET QUOTED_IDENTIFIER OFF
10209GO
10210
10211CREATE PROC [dbo].[spIPFltGetBlockCountryCodeList]
10212AS
10213 SET NOCOUNT ON
10214 SELECT CountryCode3, RoutingURL, IsBlock
10215 FROM BlockCountryCode(NOLOCK)
10216 ORDER BY CountryCode3
10217
10218
10219
10220
10221GO
10222/****** Object: StoredProcedure [dbo].[spIPFltGetCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10223SET ANSI_NULLS ON
10224GO
10225SET QUOTED_IDENTIFIER OFF
10226GO
10227
10228CREATE PROC [dbo].[spIPFltGetCountryCode]
10229AS
10230 SET NOCOUNT ON
10231 SELECT CountryCode3, CountryName
10232 FROM CountryCode(NOLOCK)
10233 ORDER BY CountryCode3 ASC
10234
10235
10236
10237
10238GO
10239/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10240SET ANSI_NULLS ON
10241GO
10242SET QUOTED_IDENTIFIER OFF
10243GO
10244
10245CREATE PROC [dbo].[spIPFltGetCustomIP]
10246 @IP varchar(15)
10247AS
10248 SET NOCOUNT ON
10249 DECLARE @TmpIP bigint
10250
10251 SET @TmpIP = TestDB.game.inet_aton( @IP )
10252
10253 SELECT IPFrom, IPTo, IsBlock, Comment, RegDate
10254 FROM CustomIP(NOLOCK)
10255 WHERE IPFrom <= @TmpIP AND IPTo >= @TmpIP
10256
10257
10258
10259
10260GO
10261/****** Object: StoredProcedure [dbo].[spIPFltGetCustomIPList] Script Date: 28-05-2018 18:12:28 ******/
10262SET ANSI_NULLS ON
10263GO
10264SET QUOTED_IDENTIFIER OFF
10265GO
10266
10267CREATE PROC [dbo].[spIPFltGetCustomIPList]
10268AS
10269 SET NOCOUNT ON
10270 SELECT IPFrom, IPTo, IsBlock, CountryCode3, Comment FROM CustomIP(NOLOCK)
10271 ORDER BY IPFrom
10272
10273
10274
10275
10276GO
10277/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountry] Script Date: 28-05-2018 18:12:28 ******/
10278SET ANSI_NULLS ON
10279GO
10280SET QUOTED_IDENTIFIER OFF
10281GO
10282
10283CREATE PROC [dbo].[spIPFltGetIPtoCountry]
10284 @IP char(15)
10285AS
10286 SET NOCOUNT ON
10287 DECLARE @IPNumber BIGINT
10288 SET @IPNumber = TestDB.game.inet_aton( @IP )
10289
10290 SELECT IPFrom, IPTo, CountryCode3 FROM IPtoCountry(NOLOCK)
10291 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10292
10293
10294
10295
10296GO
10297/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryCode] Script Date: 28-05-2018 18:12:28 ******/
10298SET ANSI_NULLS ON
10299GO
10300SET QUOTED_IDENTIFIER OFF
10301GO
10302
10303CREATE PROC [dbo].[spIPFltGetIPtoCountryCode]
10304 @IP char(15)
10305AS
10306 SET NOCOUNT ON
10307 DECLARE @IPNumber BIGINT
10308 SET @IPNumber = TestDB.game.inet_aton( @IP )
10309
10310 SELECT CountryCode3 FROM IPtoCountry(NOLOCK)
10311 WHERE IPFrom <= @IPNumber AND IPTo >= @IPNumber
10312
10313
10314
10315
10316GO
10317/****** Object: StoredProcedure [dbo].[spIPFltGetIPtoCountryList] Script Date: 28-05-2018 18:12:28 ******/
10318SET ANSI_NULLS ON
10319GO
10320SET QUOTED_IDENTIFIER OFF
10321GO
10322
10323CREATE PROC [dbo].[spIPFltGetIPtoCountryList]
10324AS
10325 SET NOCOUNT ON
10326 SELECT IPFrom, IPTo, CountryCode3
10327 FROM IPtoCountry(NOLOCK)
10328 ORDER BY IPFrom
10329
10330
10331
10332
10333GO
10334/****** Object: StoredProcedure [dbo].[spIPFltInsertCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10335SET ANSI_NULLS ON
10336GO
10337SET QUOTED_IDENTIFIER OFF
10338GO
10339
10340/*
10341 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10342 */
10343CREATE PROC [dbo].[spIPFltInsertCustomIP]
10344 @IPFrom varchar(15)
10345, @IPTo varchar(15)
10346, @IsBlock tinyint
10347, @CountryCode3 char(3)
10348, @Comment varchar(128)
10349, @Ret int OUTPUT
10350AS
10351 SET NOCOUNT ON
10352 DECLARE @DupRet int
10353 DECLARE @TmpIPFrom BIGINT
10354 DECLARE @TmpIPTo BIGINT
10355
10356 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10357 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10358 IF @TmpIPFrom > @TmpIPTo BEGIN
10359 SET @Ret = 3
10360 RETURN @Ret
10361 END
10362
10363 EXEC spIPFltCheckIsDuplicateRange @TmpIPFrom, @TmpIPTo, @DupRet OUTPUT
10364 IF 1 = @DupRet BEGIN
10365 SET @Ret = 2
10366 RETURN @Ret
10367 END
10368
10369 INSERT INTO CustomIP(IPFrom, IPTo, CountryCode3, IsBlock, Comment, RegDate)
10370 VALUES (@TmpIPFrom, @TmpIPTo, @CountryCode3, @IsBlock, @Comment, GETDATE() )
10371 IF 0 <> @@ERROR SET @Ret = 0
10372 ELSE SET @Ret = 1
10373 RETURN @Ret
10374
10375
10376
10377
10378GO
10379/****** Object: StoredProcedure [dbo].[spIPFltUpdateCustomIP] Script Date: 28-05-2018 18:12:28 ******/
10380SET ANSI_NULLS ON
10381GO
10382SET QUOTED_IDENTIFIER OFF
10383GO
10384
10385/*
10386 * @Ret(0:Fail, 1:Success, 2:Duplicate, 3:Invers range)
10387 */
10388CREATE PROC [dbo].[spIPFltUpdateCustomIP]
10389 @IPFrom varchar(15)
10390, @IPTo varchar(15)
10391, @NewIPFrom varchar(15)
10392, @NewIPTo varchar(15)
10393, @IsBlock tinyint
10394, @CountryCode3 char(3)
10395, @Comment varchar(128)
10396, @Ret int OUTPUT
10397AS
10398 SET NOCOUNT ON
10399 DECLARE @DupRet bigint
10400 DECLARE @TmpIPFrom BIGINT
10401 DECLARE @TmpIPTo BIGINT
10402 DECLARE @TmpNewIPFrom bigint
10403 DECLARE @TmpNewIPTo bigint
10404
10405 SET @TmpIPFrom = TestDB.game.inet_aton( @IPFrom )
10406 SET @TmpIPTo = TestDB.game.inet_aton( @IPTo )
10407
10408 IF @TmpIPFrom > @TmpIPTo BEGIN
10409 SET @Ret = 3
10410 RETURN @Ret
10411 END
10412
10413 SET @TmpNewIPFrom = TestDB.game.inet_aton( @NewIPFrom )
10414 SET @TmpNewIPTo = TestDB.game.inet_aton( @NewIPTo )
10415
10416 IF @TmpNewIPFrom > @TmpNewIPTo BEGIN
10417 SET @Ret = 0
10418 RETURN @Ret
10419 END
10420
10421 -- ì´ì „ IP범위와 같으면 IP변경 ì—†ì´ ë‹¤ë¥¸ ë°ì´í„°ë§Œ 변경하는 것임.
10422 IF (@TmpIPFrom <> @TmpNewIPFrom) OR (@TmpIPTo <> @TmpNewIPTo) BEGIN
10423 EXEC spIPFltCheckIsDuplicateRange @TmpNewIPFrom, @TmpNewIPTo, @DupRet OUTPUT
10424 IF 1 = @DupRet BEGIN
10425 SET @Ret = 2
10426 RETURN @Ret
10427 END
10428 END
10429
10430 UPDATE CustomIP
10431 SET IPFrom = @TmpNewIPFrom, IPTo = @TmpNewIPTo,
10432 IsBlock = @IsBlock, CountryCode3 = @CountryCode3,
10433 Comment = @Comment
10434 WHERE IPFrom = @TmpIPFrom AND IPTo = @TmpIPTo
10435 IF 0 <> @@ERROR OR 0 = @@ROWCOUNT SET @Ret = 0
10436 ELSE SET @Ret = 1
10437 RETURN @Ret
10438
10439
10440
10441
10442GO
10443/****** Object: StoredProcedure [dbo].[spIsExistCharName] Script Date: 28-05-2018 18:12:28 ******/
10444SET ANSI_NULLS ON
10445GO
10446SET QUOTED_IDENTIFIER ON
10447GO
10448
10449
10450-- ìºë¦í„° ì´ë¦„ 중복 검사
10451CREATE PROC [dbo].[spIsExistCharName]
10452 @CharName varchar(24)
10453AS
10454SET NOCOUNT ON
10455IF EXISTS (SELECT TOP 1 CID FROM Character(nolock) where (Name=@CharName) AND (DeleteFlag=0))
10456BEGIN
10457 SELECT 1 AS Ret
10458END
10459ELSE
10460BEGIN
10461 SELECT 0 AS Ret
10462END
10463
10464
10465
10466
10467
10468GO
10469/****** Object: StoredProcedure [dbo].[spItemList] Script Date: 28-05-2018 18:12:28 ******/
10470SET ANSI_NULLS ON
10471GO
10472SET QUOTED_IDENTIFIER ON
10473GO
10474
10475create procedure [dbo].[spItemList]
10476 @ItemType int,
10477 @ResSex int,
10478 @ResLevel int,
10479 @ResText nvarchar(100),
10480
10481 @Page int,
10482 @PageSize int,
10483 @PageCount int output
10484AS
10485set NoCount On
10486
10487declare @Rows int
10488declare @ViewCount int
10489select @Rows = @Page * @PageSize
10490declare @PageHead INT
10491declare @RowCount INT
10492
10493
10494if @ItemType = -1 /* ITEMTYPE = -1 */
10495 begin
10496 if @ResSex = -1 /* ITEMTYPE = -1 RESSEX = -1 */
10497 begin
10498 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 */
10499 begin
10500 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10501 begin
10502 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10503 from CashShop cs(nolock), viewItem i(nolock)
10504 where i.ItemID = cs.ItemID and cs.Opened=1
10505
10506 select @RowCount = ((@Page -1) * @PageSize + 1)
10507 set rowcount @RowCount
10508 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10509 where cs.ItemID=i.ItemID and cs.Opened=1
10510 order by cs.csid desc
10511
10512 set rowcount @PageSize
10513 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10514 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10515 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10516 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10517 cs.RentType as RentType
10518 from CashShop cs(nolock), viewItem i(nolock)
10519 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10520 order by cs.csid desc
10521 end
10522 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10523 begin
10524 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10525 from CashShop cs(nolock), viewItem i(nolock)
10526 where i.ItemID = cs.ItemID and cs.Opened=1
10527 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10528
10529 select @RowCount = ((@Page -1) * @PageSize + 1)
10530 set rowcount @RowCount
10531 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10532 where cs.ItemID=i.ItemID and cs.Opened=1
10533 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10534 order by cs.csid desc
10535
10536 set rowcount @PageSize
10537 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10538 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10539 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10540 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10541 cs.RentType as RentType
10542 from CashShop cs(nolock), viewItem i(nolock)
10543 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10544 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10545 order by cs.csid desc
10546 end
10547 end
10548 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 */
10549 begin
10550 if @ResText = '' /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10551 begin
10552 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10553 from CashShop cs(nolock), viewItem i(nolock)
10554 where i.ItemID = cs.ItemID and cs.Opened=1
10555 and i.ResLevel <= @ResLevel
10556
10557 select @RowCount = ((@Page -1) * @PageSize + 1)
10558 set rowcount @RowCount
10559 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10560 where cs.ItemID=i.ItemID and cs.Opened=1
10561 and i.ResLevel <= @ResLevel
10562 order by cs.csid desc
10563
10564 set rowcount @PageSize
10565 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10566 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10567 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10568 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10569 cs.RentType as RentType
10570 from CashShop cs(nolock), viewItem i(nolock)
10571 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10572 and i.ResLevel <= @ResLevel
10573 order by cs.csid desc
10574 end
10575 else /* ITEMTYPE = -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10576 begin
10577 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10578 from CashShop cs(nolock), viewItem i(nolock)
10579 where i.ItemID = cs.ItemID and cs.Opened=1
10580 and i.ResLevel <= @ResLevel
10581 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10582
10583 select @RowCount = ((@Page -1) * @PageSize + 1)
10584 set rowcount @RowCount
10585 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10586 where cs.ItemID=i.ItemID and cs.Opened=1
10587 and i.ResLevel <= @ResLevel
10588 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10589 order by cs.csid desc
10590
10591 set rowcount @PageSize
10592 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10593 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10594 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10595 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10596 cs.RentType as RentType
10597 from CashShop cs(nolock), viewItem i(nolock)
10598 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10599 and i.ResLevel <= @ResLevel
10600 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10601 order by cs.csid desc
10602 end
10603 end
10604 end
10605 else /* ITEMTYPE = -1 RESSEX <> -1 */
10606 begin
10607 if @ResLevel = -1 /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 */
10608 begin
10609 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10610 begin
10611 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10612 from CashShop cs(nolock), viewItem i(nolock)
10613 where i.ItemID = cs.ItemID and cs.Opened=1
10614 and i.ResSex = @ResSex
10615
10616 select @RowCount = ((@Page -1) * @PageSize + 1)
10617 set rowcount @RowCount
10618 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10619 where cs.ItemID=i.ItemID and cs.Opened=1
10620 and i.ResSex = @ResSex
10621 order by cs.csid desc
10622
10623 set rowcount @PageSize
10624 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10625 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10626 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10627 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10628 cs.RentType as RentType
10629 from CashShop cs(nolock), viewItem i(nolock)
10630 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10631 and i.ResSex = @ResSex
10632 order by cs.csid desc
10633 end
10634 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10635 begin
10636 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10637 from CashShop cs(nolock), viewItem i(nolock)
10638 where i.ItemID = cs.ItemID and cs.Opened=1
10639 and i.ResSex = @ResSex
10640 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10641
10642 select @RowCount = ((@Page -1) * @PageSize + 1)
10643 set rowcount @RowCount
10644 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10645 where cs.ItemID=i.ItemID and cs.Opened=1
10646 and i.ResSex = @ResSex
10647 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10648 order by cs.csid desc
10649
10650 set rowcount @PageSize
10651 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10652 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10653 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10654 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10655 cs.RentType as RentType
10656 from CashShop cs(nolock), viewItem i(nolock)
10657 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10658 and i.ResSex = @ResSex
10659 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10660 order by cs.csid desc
10661 end
10662 end
10663 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 */
10664 begin
10665 if @ResText = '' /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10666 begin
10667 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10668 from CashShop cs(nolock), viewItem i(nolock)
10669 where i.ItemID = cs.ItemID and cs.Opened=1
10670 and i.ResSex = @ResSex
10671 and i.ResLevel <= @ResLevel
10672
10673 select @RowCount = ((@Page -1) * @PageSize + 1)
10674 set rowcount @RowCount
10675 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10676 where cs.ItemID=i.ItemID and cs.Opened=1
10677 and i.ResSex = @ResSex
10678 and i.ResLevel <= @ResLevel
10679 order by cs.csid desc
10680
10681 set rowcount @PageSize
10682 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10683 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10684 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10685 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10686 cs.RentType as RentType
10687 from CashShop cs(nolock), viewItem i(nolock)
10688 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10689 and i.ResSex = @ResSex
10690 and i.ResLevel <= @ResLevel
10691 order by cs.csid desc
10692 end
10693 else /* ITEMTYPE = -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10694 begin
10695 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10696 from CashShop cs(nolock), viewItem i(nolock)
10697 where i.ItemID = cs.ItemID and cs.Opened=1
10698 and i.ResSex = @ResSex
10699 and i.ResLevel <= @ResLevel
10700 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10701
10702 select @RowCount = ((@Page -1) * @PageSize + 1)
10703 set rowcount @RowCount
10704 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10705 where cs.ItemID=i.ItemID and cs.Opened=1
10706 and i.ResSex = @ResSex
10707 and i.ResLevel <= @ResLevel
10708 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10709 order by cs.csid desc
10710
10711 set rowcount @PageSize
10712 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10713 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10714 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10715 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10716 cs.RentType as RentType
10717 from CashShop cs(nolock), viewItem i(nolock)
10718 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10719 and i.ResSex = @ResSex
10720 and i.ResLevel <= @ResLevel
10721 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10722 order by cs.csid desc
10723 end
10724 end
10725 end
10726 end
10727else
10728 begin
10729 if @ResSex = -1 /* ITEMTYPE <> -1 RESSEX = -1 */
10730 begin
10731 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 */
10732 begin
10733 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT = '' */
10734 begin
10735 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10736 from CashShop cs(nolock), viewItem i(nolock)
10737 where i.ItemID = cs.ItemID and cs.Opened=1
10738 and i.SlotEx = @ItemType
10739
10740 select @RowCount = ((@Page -1) * @PageSize + 1)
10741 set rowcount @RowCount
10742 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10743 where cs.ItemID=i.ItemID and cs.Opened=1
10744 and i.SlotEx = @ItemType
10745 order by cs.csid desc
10746
10747 set rowcount @PageSize
10748 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10749 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10750 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10751 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10752 cs.RentType as RentType
10753 from CashShop cs(nolock), viewItem i(nolock)
10754 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10755 and i.SlotEx = @ItemType
10756 order by cs.csid desc
10757 end
10758 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL = -1 RESTEXT <> '' */
10759 begin
10760 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10761 from CashShop cs(nolock), viewItem i(nolock)
10762 where i.ItemID = cs.ItemID and cs.Opened=1
10763 and i.SlotEx = @ItemType
10764 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10765
10766 select @RowCount = ((@Page -1) * @PageSize + 1)
10767 set rowcount @RowCount
10768 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10769 where cs.ItemID=i.ItemID and cs.Opened=1
10770 and i.SlotEx = @ItemType
10771 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10772 order by cs.csid desc
10773
10774 set rowcount @PageSize
10775 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10776 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10777 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10778 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10779 cs.RentType as RentType
10780 from CashShop cs(nolock), viewItem i(nolock)
10781 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10782 and i.SlotEx = @ItemType
10783 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10784 order by cs.csid desc
10785 end
10786 end
10787 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 */
10788 begin
10789 if @ResText = '' /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT = '' */
10790 begin
10791 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10792 from CashShop cs(nolock), viewItem i(nolock)
10793 where i.ItemID = cs.ItemID and cs.Opened=1
10794 and i.SlotEx = @ItemType
10795 and i.ResLevel <= @ResLevel
10796
10797 select @RowCount = ((@Page -1) * @PageSize + 1)
10798 set rowcount @RowCount
10799 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10800 where cs.ItemID=i.ItemID and cs.Opened=1
10801 and i.SlotEx = @ItemType
10802 and i.ResLevel <= @ResLevel
10803 order by cs.csid desc
10804
10805 set rowcount @PageSize
10806 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10807 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10808 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10809 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10810 cs.RentType as RentType
10811 from CashShop cs(nolock), viewItem i(nolock)
10812 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10813 and i.SlotEx = @ItemType
10814 and i.ResLevel <= @ResLevel
10815 order by cs.csid desc
10816 end
10817 else /* ITEMTYPE <> -1 RESSEX = -1 RESLEVEL <> -1 RESTEXT <> '' */
10818 begin
10819 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10820 from CashShop cs(nolock), viewItem i(nolock)
10821 where i.ItemID = cs.ItemID and cs.Opened=1
10822 and i.SlotEx = @ItemType
10823 and i.ResLevel <= @ResLevel
10824 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10825
10826 select @RowCount = ((@Page -1) * @PageSize + 1)
10827 set rowcount @RowCount
10828 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10829 where cs.ItemID=i.ItemID and cs.Opened=1
10830 and i.SlotEx = @ItemType
10831 and i.ResLevel <= @ResLevel
10832 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10833 order by cs.csid desc
10834
10835 set rowcount @PageSize
10836 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10837 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10838 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10839 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10840 cs.RentType as RentType
10841 from CashShop cs(nolock), viewItem i(nolock)
10842 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10843 and i.SlotEx = @ItemType
10844 and i.ResLevel <= @ResLevel
10845 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10846 order by cs.csid desc
10847 end
10848 end
10849 end
10850 else /* ITEMTYPE <> -1 RESSEX <> -1 */
10851 begin
10852 if @ResLevel = -1 /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 */
10853 begin
10854 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT = '' */
10855 begin
10856 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10857 from CashShop cs(nolock), viewItem i(nolock)
10858 where i.ItemID = cs.ItemID and cs.Opened=1
10859 and i.SlotEx = @ItemType
10860 and i.ResSex = @ResSex
10861
10862 select @RowCount = ((@Page -1) * @PageSize + 1)
10863 set rowcount @RowCount
10864 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10865 where cs.ItemID=i.ItemID and cs.Opened=1
10866 and i.SlotEx = @ItemType
10867 and i.ResSex = @ResSex
10868 order by cs.csid desc
10869
10870 set rowcount @PageSize
10871 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10872 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10873 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10874 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10875 cs.RentType as RentType
10876 from CashShop cs(nolock), viewItem i(nolock)
10877 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10878 and i.SlotEx = @ItemType
10879 and i.ResSex = @ResSex
10880 order by cs.csid desc
10881 end
10882 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL = -1 RESTEXT <> '' */
10883 begin
10884 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10885 from CashShop cs(nolock), viewItem i(nolock)
10886 where i.ItemID = cs.ItemID and cs.Opened=1
10887 and i.SlotEx = @ItemType
10888 and i.ResSex = @ResSex
10889 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10890
10891 select @RowCount = ((@Page -1) * @PageSize + 1)
10892 set rowcount @RowCount
10893 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10894 where cs.ItemID=i.ItemID and cs.Opened=1
10895 and i.SlotEx = @ItemType
10896 and i.ResSex = @ResSex
10897 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10898 order by cs.csid desc
10899
10900 set rowcount @PageSize
10901 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10902 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10903 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10904 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10905 cs.RentType as RentType
10906 from CashShop cs(nolock), viewItem i(nolock)
10907 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10908 and i.SlotEx = @ItemType
10909 and i.ResSex = @ResSex
10910 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10911 order by cs.csid desc
10912 end
10913 end
10914 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 */
10915 begin
10916 if @ResText = '' /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT = '' */
10917 begin
10918 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10919 from CashShop cs(nolock), viewItem i(nolock)
10920 where i.ItemID = cs.ItemID and cs.Opened=1
10921 and i.SlotEx = @ItemType
10922 and i.ResSex = @ResSex
10923 and i.ResLevel <= @ResLevel
10924
10925 select @RowCount = ((@Page -1) * @PageSize + 1)
10926 set rowcount @RowCount
10927 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10928 where cs.ItemID=i.ItemID and cs.Opened=1
10929 and i.SlotEx = @ItemType
10930 and i.ResSex = @ResSex
10931 and i.ResLevel <= @ResLevel
10932 order by cs.csid desc
10933
10934 set rowcount @PageSize
10935 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10936 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10937 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10938 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10939 cs.RentType as RentType
10940 from CashShop cs(nolock), viewItem i(nolock)
10941 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10942 and i.SlotEx = @ItemType
10943 and i.ResSex = @ResSex
10944 and i.ResLevel <= @ResLevel
10945 order by cs.csid desc
10946 end
10947 else /* ITEMTYPE <> -1 RESSEX <> -1 RESLEVEL <> -1 RESTEXT <> '' */
10948 begin
10949 select @PageCount = (COUNT(*) + (@PageSize-1)) / @PageSize
10950 from CashShop cs(nolock), viewItem i(nolock)
10951 where i.ItemID = cs.ItemID and cs.Opened=1
10952 and i.SlotEx = @ItemType
10953 and i.ResSex = @ResSex
10954 and i.ResLevel <= @ResLevel
10955 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10956
10957 select @RowCount = ((@Page -1) * @PageSize + 1)
10958 set rowcount @RowCount
10959 select @PageHead = cs.csid from CashShop cs(NOLOCK), viewItem i(nolock)
10960 where cs.ItemID=i.ItemID and cs.Opened=1
10961 and i.SlotEx = @ItemType
10962 and i.ResSex = @ResSex
10963 and i.ResLevel <= @ResLevel
10964 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10965 order by cs.csid desc
10966
10967 set rowcount @PageSize
10968 select cs.csid AS CSID, i.name AS Name, i.Slot AS Slot,
10969 cs.CashPrice AS Cash, cs.WebImgName As WebImgName,
10970 i.ResSex as ResSex, i.ResLevel as ResLevel, i.Weight as Weight,
10971 i.Description as Description, cs.RegDate as RegDate, cs.NewItemOrder as IsNewItem,
10972 cs.RentType as RentType
10973 from CashShop cs(nolock), viewItem i(nolock)
10974 where csid <= @PageHead and i.ItemID = cs.ItemID and cs.Opened=1
10975 and i.SlotEx = @ItemType
10976 and i.ResSex = @ResSex
10977 and i.ResLevel <= @ResLevel
10978 and (i.Name like '%' + @ResText + '%' or i.Description like '%' + @ResText + '%')
10979 order by cs.csid desc
10980 end
10981 end
10982 end
10983 end
10984
10985
10986
10987
10988
10989GO
10990/****** Object: StoredProcedure [dbo].[spLeague_FetchLeagueInfo] Script Date: 28-05-2018 18:12:28 ******/
10991SET ANSI_NULLS ON
10992GO
10993SET QUOTED_IDENTIFIER ON
10994GO
10995
10996
10997CREATE PROC [dbo].[spLeague_FetchLeagueInfo]
10998AS
10999 RETURN
11000
11001
11002
11003
11004GO
11005/****** Object: StoredProcedure [dbo].[spLeague_GetCID] Script Date: 28-05-2018 18:12:28 ******/
11006SET ANSI_NULLS ON
11007GO
11008SET QUOTED_IDENTIFIER ON
11009GO
11010
11011
11012CREATE PROC [dbo].[spLeague_GetCID]
11013AS
11014 RETURN
11015
11016
11017
11018
11019
11020GO
11021/****** Object: StoredProcedure [dbo].[spPresentCashItem] Script Date: 28-05-2018 18:12:28 ******/
11022SET ANSI_NULLS ON
11023GO
11024SET QUOTED_IDENTIFIER ON
11025GO
11026
11027
11028
11029
11030--------------------------------------------------------------------------------
11031
11032
11033
11034-- ë‹¨ì¼ ì•„ì´í…œ ì„ ë¬¼í•˜ê¸°
11035CREATE PROC [dbo].[spPresentCashItem]
11036 @SenderUserID varchar(20)
11037, @ReceiverUserID varchar(20)
11038, @CSID int
11039, @Cash int
11040, @RentHourPeriod smallint = NULL
11041, @MobileCode char(16) = NULL
11042AS
11043 SET NoCount On
11044
11045 DECLARE @ItemID int
11046 DECLARE @ReceiverAID int
11047
11048 SELECT @ReceiverAID = AID FROM Account (NOLOCK) WHERE UserID = @ReceiverUserID
11049
11050 IF @ReceiverAID IS NULL
11051 BEGIN
11052 RETURN 0
11053 END
11054 ELSE
11055 BEGIN
11056 DECLARE @RentDate datetime
11057 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11058 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11059 BEGIN
11060 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11061 DECLARE @RentType TINYINT
11062 DECLARE @RCSPID INT
11063
11064 SELECT @RentType = RentType FROM CashShop WHERE CSID=@CSID
11065 IF @RentType = 1
11066 BEGIN
11067 SELECT @RCSPID = RCSPID FROM RentCashShopPrice WHERE CSID=@CSID AND RentHourPeriod is NULL
11068 IF @RCSPID IS NULL
11069 BEGIN
11070 RETURN 0
11071 END
11072 END
11073
11074 -- ì¼ë°˜ ì•„ì´í…œì¸ 경우
11075 SET @RentDate = NULL
11076 END
11077 ELSE
11078 BEGIN
11079 SET @RentDate = GETDATE()
11080 END
11081
11082
11083 SELECT @ItemID = ItemID FROM CashShop (NOLOCK) WHERE CSID = @CSID
11084
11085 IF @ItemID IS NOT NULL
11086 BEGIN
11087 BEGIN TRAN
11088
11089 -- ì•„ì´í…œ ìƒì„±.
11090 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11091 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11092
11093 IF @@ERROR <> 0
11094 BEGIN
11095 ROLLBACK
11096 RETURN 0
11097 END
11098
11099 -- ì„ ë¬¼ 로그 ìƒì„±.
11100 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSID, Date, Cash, RentHourPeriod, MobileCode)
11101 VALUES (@SenderUserID, @ReceiverAID, @CSID, GETDATE(), @Cash, @RentHourPeriod, @MobileCode)
11102
11103 IF @@ERROR <> 0
11104 BEGIN
11105 ROLLBACK
11106 RETURN 0
11107 END
11108
11109 COMMIT TRAN
11110 END
11111 ELSE
11112 BEGIN
11113 RETURN 0
11114 END
11115
11116
11117 RETURN 1
11118 END
11119
11120
11121
11122
11123
11124
11125GO
11126/****** Object: StoredProcedure [dbo].[spPresentCashSetItem] Script Date: 28-05-2018 18:12:28 ******/
11127SET ANSI_NULLS ON
11128GO
11129SET QUOTED_IDENTIFIER ON
11130GO
11131
11132
11133
11134--------------------------------------------------------------------------------
11135
11136
11137CREATE PROC [dbo].[spPresentCashSetItem]
11138 @SenderUserID varchar(20)
11139, @ReceiverUserID varchar(20)
11140, @CSSID int
11141, @Cash int
11142, @RentHourPeriod smallint = NULL
11143, @MobileCode char(16) = NULL
11144AS
11145 SET NoCount On
11146
11147 DECLARE @ReceiverAID int
11148
11149 SELECT @ReceiverAID = AID FROM Account WHERE UserID = @ReceiverUserID
11150
11151 IF @ReceiverAID IS NOT NULL
11152 BEGIN
11153 DECLARE @RentDate datetime
11154
11155 -- @RentHourPeriodê°’ì„ ê°€ì§€ê³ ê¸°ê°„ì œì¸ì§€ 검사.
11156 IF @RentHourPeriod = 0 OR @RentHourPeriod IS NULL
11157 BEGIN
11158 -- ê¸°ê°„ì œ ì•„ì´í…œì¼ 경우 ì˜êµ¬ ì•„ì´í…œ íŒë§¤ 여부 검사
11159 DECLARE @RentType TINYINT
11160 DECLARE @RCSSPID INT
11161
11162 SELECT @RentType = RentType FROM CashSetShop WHERE CSSID=@CSSID
11163 IF @RentType = 1
11164 BEGIN
11165 SELECT @RCSSPID = RCSSPID FROM RentCashSetShopPrice WHERE CSSID=@CSSID AND RentHourPeriod is NULL
11166 IF @RCSSPID IS NULL
11167 BEGIN
11168 RETURN 0
11169 END
11170 END
11171
11172 -- ì¼ë°˜ ì•„ì´í…œì¼ 경우
11173 SET @RentDate = NULL
11174 END
11175 ELSE
11176 BEGIN
11177 SET @RentDate = GETDATE()
11178 END
11179
11180
11181 BEGIN TRAN
11182 DECLARE curBuyCashSetItem INSENSITIVE CURSOR
11183
11184 FOR
11185 SELECT CSID FROM CashSetItem WHERE CSSID = @CSSID
11186 FOR READ ONLY
11187
11188 OPEN curBuyCashSetItem
11189
11190 DECLARE @varCSID int
11191 DECLARE @ItemID int
11192
11193 FETCH FROM curBuyCashSetItem INTO @varCSID
11194
11195 WHILE @@FETCH_STATUS = 0
11196 BEGIN
11197 SELECT @ItemID = ItemID FROM CashShop WHERE CSID = @varCSID
11198
11199 IF @ItemID IS NOT NULL
11200 BEGIN
11201 -- ì•„ì´í…œ ìƒì„±.
11202 INSERT INTO AccountItem (AID, ItemID, RentDate, RentHourPeriod)
11203 VALUES (@ReceiverAID, @ItemID, @RentDate, @RentHourPeriod)
11204
11205 IF @@ERROR <> 0
11206 BEGIN
11207 ROLLBACK
11208 CLOSE curBuyCashSetItem
11209 DEALLOCATE curBuyCashSetItem
11210 RETURN 0
11211 END
11212 END
11213
11214 FETCH FROM curBuyCashSetItem INTO @varCSID
11215 END
11216
11217 CLOSE curBuyCashSetItem
11218 DEALLOCATE curBuyCashSetItem
11219
11220 -- 셋트아ì´í…œ ì„ ë¬¼ 로그 ìƒì„±.
11221 INSERT INTO CashItemPresentLog (SenderUserID, ReceiverAID, CSSID, Date, RentHourPeriod, Cash, MobileCode)
11222 VALUES (@SenderUserID, @ReceiverAID, @CSSID, GETDATE(), @RentHourPeriod, @Cash, @MobileCode)
11223
11224 IF @@ERROR <> 0
11225 BEGIN
11226 ROLLBACK
11227 RETURN 0
11228 END
11229
11230 COMMIT TRAN
11231 RETURN 1
11232
11233 END
11234 ELSE
11235 BEGIN
11236 RETURN 0
11237 END
11238
11239
11240
11241
11242
11243
11244GO
11245/****** Object: StoredProcedure [dbo].[spRegularTranslateServerLog] Script Date: 28-05-2018 18:12:28 ******/
11246SET ANSI_NULLS ON
11247GO
11248SET QUOTED_IDENTIFIER ON
11249GO
11250
11251
11252
11253CREATE PROC [dbo].[spRegularTranslateServerLog]
11254AS
11255 SET NOCOUNT ON
11256
11257 DECLARE @StartTime char(16)
11258 DECLARE @EndTime char(16)
11259
11260 SET @StartTime = CONVERT(char(13), DATEADD(hh, -1, GETDATE()), 120) + ':00'
11261 SET @EndTime = CONVERT(char(13), GETDATE(), 120) + ':00'
11262
11263 INSERT INTO LogDB.game.ServerLogStorage(ServerID
11264 , PlayerCount, GameCount, BlockCount, NonBlockCount
11265 , Time)
11266 SELECT ServerID, PlayerCount, GameCount, BlockCount, NonBlockCount, Time
11267 FROM TestDB.game.ServerLog(NOLOCK)
11268 WHERE ServerID < 200 AND Time >= @StartTime AND Time < @EndTime
11269 ORDER BY ServerID, Time
11270
11271
11272
11273
11274
11275
11276GO
11277/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRankIncrease] Script Date: 28-05-2018 18:12:28 ******/
11278SET ANSI_NULLS ON
11279GO
11280SET QUOTED_IDENTIFIER ON
11281GO
11282
11283
11284-- í´ëžœ ëží‚¹ ì¦ê°€ë¶„ ì—…ë°ì´íЏ - ë§¤ì¼ ìƒˆë²½ 12ì‹œì— ì—…ë°ì´íЏ
11285CREATE PROC [dbo].[spRegularUpdateClanRankIncrease]
11286AS
11287 SET NOCOUNT ON
11288
11289 -- 꼴등ëží‚¹ì„ 구한다.
11290 DECLARE @LowestRank int
11291 SELECT TOP 1 @LowestRank=Ranking FROM Clan
11292 WHERE DeleteFlag=0 AND Ranking>0
11293 order by ranking desc
11294
11295 IF @LowestRank is NULL SELECT @LowestRank = 0
11296
11297 UPDATE Clan
11298 SET RankIncrease=(LastDayRanking-Ranking)
11299 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking != 0
11300
11301 -- ì²˜ìŒ ëží‚¹ì— ì§„ìž…í–ˆì„ ê²½ìš°
11302 UPDATE Clan
11303 SET RankIncrease=@LowestRank-Ranking
11304 WHERE DeleteFlag=0 AND Ranking>0 AND LastDayRanking = 0
11305
11306 -- LastDayRanking ì—…ë°ì´íЏ
11307 UPDATE Clan
11308 SET LastDayRanking=Ranking
11309 where DeleteFlag=0 and Ranking>0
11310
11311
11312
11313
11314
11315GO
11316/****** Object: StoredProcedure [dbo].[spRegularUpdateClanRanking] Script Date: 28-05-2018 18:12:28 ******/
11317SET ANSI_NULLS ON
11318GO
11319SET QUOTED_IDENTIFIER ON
11320GO
11321
11322
11323CREATE PROC [dbo].[spRegularUpdateClanRanking]
11324AS
11325SET NOCOUNT ON
11326
11327DECLARE @varRanking int
11328SELECT @varRanking = 0
11329
11330DECLARE curRankClan INSENSITIVE CURSOR
11331FOR
11332 SELECT CLID
11333 FROM Clan(nolock)
11334 WHERE DeleteFlag=0 AND ((Wins != 0) OR (Losses != 0))
11335 ORDER BY Point Desc, Wins Desc, Losses Asc
11336
11337FOR READ ONLY
11338
11339OPEN curRankClan
11340
11341DECLARE @varCLID int
11342DECLARE @sql varchar(100)
11343
11344FETCH FROM curRankClan INTO @varCLID
11345
11346WHILE @@FETCH_STATUS = 0
11347BEGIN
11348 SELECT @varRanking = @varRanking + 1
11349
11350 -- ëží‚¹ ì—…ë°ì´íЏ
11351 UPDATE Clan SET Ranking = @varRanking WHERE CLID=@varCLID
11352
11353
11354 FETCH FROM curRankClan INTO @varCLID
11355END
11356
11357CLOSE curRankClan
11358DEALLOCATE curRankClan
11359
11360
11361
11362
11363
11364
11365GO
11366/****** Object: StoredProcedure [dbo].[spRegularUpdateConnLog] Script Date: 28-05-2018 18:12:28 ******/
11367SET ANSI_NULLS ON
11368GO
11369SET QUOTED_IDENTIFIER ON
11370GO
11371
11372
11373CREATE PROC [dbo].[spRegularUpdateConnLog]
11374AS
11375SET NOCOUNT ON
11376-- ë‹¤ìŒ ë‚ ìžì˜ ConnLogí…Œì´ë¸” ìƒì„± 쿼리.
11377DECLARE @NewTableName varchar(20)
11378DECLARE @CreateConnLogQuery varchar( 255 )
11379DECLARE @NextDate smalldatetime
11380
11381DECLARE @Month int
11382DECLARE @Day int
11383
11384EXEC spGetAgoDay -1, @NextDate OUTPUT
11385
11386SET @Month = DATEPART(mm, @NextDate)
11387SET @Day = DATEPART(dd, @NextDate)
11388
11389SELECT @NewTableName = 'ConnLog_' +
11390 CAST( DATEPART(yy, @NextDate) AS varchar(4) ) +
11391 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11392 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11393
11394SELECT @CreateConnLogQuery = 'CREATE TABLE ' + @NewTableName + '(id int identity PRIMARY KEY, AID int NOT NULL, Time smalldatetime NOT NULL, IP char(12) NOT NULL)'
11395
11396EXEC (@CreateConnLogQuery )
11397
11398
11399
11400-- ì´ì „ ë‚ ì§œConnLogì˜ UV처리 쿼리
11401DECLARE @TableName varchar(20)
11402DECLARE @UVQuery varchar(512)
11403DECLARE @BefDate datetime
11404
11405
11406EXEC spGetAgoDay 1, @BefDate OUTPUT
11407
11408SET @Month = DATEPART(mm, @BefDate)
11409SET @Day = DATEPART(dd, @BefDate)
11410
11411SELECT @TableName = 'ConnLog_' +
11412 CAST( DATEPART(yy, @BefDate) AS varchar(4) ) +
11413 CASE WHEN @Month < 10 THEN '0' ELSE '' END + CAST(@Month AS varchar(4)) +
11414 CASE WHEN @Day < 10 THEN '0' ELSE '' END + CAST(@Day AS varchar(4))
11415
11416SELECT @UVQuery = '
11417DECLARE @Count int
11418DECLARE @Date smalldatetime
11419
11420EXEC spGetAgoDay 1, @Date OUTPUT
11421
11422SELECT @Count = COUNT(*) FROM (SELECT AID FROM ' + @TableName + ' (NOLOCK) GROUP BY AID) A
11423
11424INSERT INTO UV(Time, Count) VALUES (@Date, @Count)'
11425
11426EXEC (@UVQuery)
11427
11428--EXEC ('TRUNCATE TABLE ' + @TableName)
11429--EXEC ('DROP TABLE ' + @TableName)
11430
11431
11432
11433
11434
11435
11436GO
11437/****** Object: StoredProcedure [dbo].[spRegularUpdateDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
11438SET ANSI_NULLS ON
11439GO
11440SET QUOTED_IDENTIFIER ON
11441GO
11442
11443CREATE proc [dbo].[spRegularUpdateDeleteClan]
11444as
11445 set nocount on
11446
11447 declare @DelClanID table( clid int )
11448
11449 begin tran
11450 insert into @DelClanID
11451 select CLID from Clan(nolock) where DeleteFlag = 2
11452 if (0 <> @@ERROR) or (0 = @@ROWCOUNT) begin
11453 rollback tran
11454 return
11455 end
11456
11457 delete ClanMember
11458 from @DelClanID dci, ClanMember cm(nolock)
11459 where cm.CLID = dci.CLID
11460 if (0 <> @@ERROR) begin
11461 rollback tran
11462 return
11463 end
11464
11465 update Clan
11466 set MasterCID = null, DeleteFlag = 1, DeleteName = Name, Name = null
11467 from @DelClanID dci, Clan c(nolock)
11468 where c.CLID = dci.CLID
11469 if (0 <> @@ERROR) OR (0 = @@ROWCOUNT) begin
11470 rollback tran
11471 return
11472 end
11473
11474 commit tran
11475
11476
11477
11478
11479
11480GO
11481/****** Object: StoredProcedure [dbo].[spRegularUpdateHonorRanking] Script Date: 28-05-2018 18:12:28 ******/
11482SET ANSI_NULLS ON
11483GO
11484SET QUOTED_IDENTIFIER ON
11485GO
11486
11487
11488-- í•œë‹¬ì— í•œë²ˆì”© ëª…ì˜ˆì˜ ì „ë‹¹ ì—…ë°ì´íЏ, ê¼ ê·¸ 다ìŒë‹¬ì˜ 1ì¼ì— 해야한다.
11489CREATE PROC [dbo].[spRegularUpdateHonorRanking]
11490AS
11491SET NOCOUNT ON
11492BEGIN TRAN -------------
11493
11494EXEC [spRegularUpdateClanRanking]
11495
11496DECLARE @Year int
11497DECLARE @Month int
11498
11499SELECT @Year = YEAR(GETDATE())
11500SELECT @Month = MONTH(GETDATE())
11501
11502IF (@Month = 1)
11503BEGIN
11504 SELECT @Year = @Year-1
11505END
11506
11507SELECT @Month = @Month - 1
11508
11509IF (@Month = 0)
11510BEGIN
11511 SELECT @Month = 12
11512END
11513
11514INSERT INTO ClanHonorRanking(CLID, ClanName, Point, Wins, Losses, Ranking, Year, Month)
11515SELECT CLID, Name AS ClanName, Point, Wins, Losses, Ranking, @Year, @Month
11516FROM Clan
11517WHERE DeleteFlag=0 AND Ranking>0
11518ORDER BY Ranking
11519IF 0 <> @@ERROR BEGIN -- 여기 추가.
11520 ROLLBACK TRAN
11521 RETURN
11522END
11523
11524-- í´ëžœ 리셋
11525UPDATE Clan SET Ranking=0, Wins=0, Losses=0, Point=1000, RankIncrease=0, LastDayRanking=0
11526IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
11527 ROLLBACK TRAN
11528 RETURN
11529END
11530
11531COMMIT TRAN -----------
11532
11533
11534
11535
11536
11537GO
11538/****** Object: StoredProcedure [dbo].[spRegularUpdateShopRanking] Script Date: 28-05-2018 18:12:28 ******/
11539SET ANSI_NULLS ON
11540GO
11541SET QUOTED_IDENTIFIER ON
11542GO
11543
11544
11545CREATE PROC [dbo].[spRegularUpdateShopRanking]
11546AS
11547SET NOCOUNT ON
11548BEGIN
11549 BEGIN TRAN
11550 /* ì›ê±°ë¦¬ 무기 ì¸ê¸°ìˆœìœ„ */
11551 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankRange%')
11552 DROP TABLE #TempShopRankRange
11553
11554
11555 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,
11556 i.ResSex, i.ResLevel, c.CashPrice
11557 INTO #TempShopRankRange
11558 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11559 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=2 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11560 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11561 ORDER BY Count DESC
11562 IF @@ERROR <> 0
11563 BEGIN
11564 ROLLBACK
11565 RETURN (-1)
11566 END
11567
11568 /* ê·¼ì ‘ 무기 ì¸ê¸°ìˆœìœ„ */
11569 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankMelee%')
11570 DROP TABLE #TempShopRankMelee
11571
11572 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,
11573 i.ResSex, i.ResLevel, c.CashPrice
11574 INTO #TempShopRankMelee
11575 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11576 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=1 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11577 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11578 ORDER BY Count DESC
11579 IF @@ERROR <> 0
11580 BEGIN
11581 ROLLBACK
11582 RETURN (-1)
11583 END
11584
11585 /* 특수아ì´í…œ ì¸ê¸°ìˆœìœ„ */
11586 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSpecial%')
11587 DROP TABLE #TempShopRankSpecial
11588
11589 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,
11590 i.ResSex, i.ResLevel, c.CashPrice
11591 INTO #TempShopRankSpecial
11592 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11593 WHERE Date > DATEADD(day, -7, GetDate()) AND i.Slot=3 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11594 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11595 ORDER BY Count DESC
11596 IF @@ERROR <> 0
11597 BEGIN
11598 ROLLBACK
11599 RETURN (-1)
11600 END
11601
11602 /* 방어구 ì¸ê¸°ìˆœìœ„ */
11603 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankArmor%')
11604 DROP TABLE #TempShopRankArmor
11605
11606 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'defence' AS Category, i.Name, COUNT(l.ItemID) AS Count, c.CSID, NULL AS CSSID,
11607 CASE i.Slot
11608 WHEN 0 THEN 'no limit'
11609 WHEN 1 THEN 'melee weapon'
11610 WHEN 2 THEN 'range weapon'
11611 WHEN 3 THEN 'item'
11612 WHEN 4 THEN 'haed'
11613 WHEN 5 THEN 'chest'
11614 WHEN 6 THEN 'hands'
11615 WHEN 7 THEN 'legs'
11616 WHEN 8 THEN 'feet'
11617 WHEN 9 THEN 'finger'
11618 END AS Slot, i.ResSex, i.ResLevel, c.CashPrice
11619 INTO #TempShopRankArmor
11620 FROM ItemPurchaseLogByCash l(NOLOCK), Item i(NOLOCK), CashShop c(NOLOCK)
11621 WHERE Date > DATEADD(day, -7, GetDate()) AND 4<=i.Slot AND i.Slot<=9 AND l.ItemID=i.ItemID AND l.ItemID=c.ItemID
11622 GROUP BY l.ItemID, i.Slot, i.Name, c.CSID, i.ResSex, i.ResLevel, c.CashPrice
11623 ORDER BY COUNT(l.ItemID) DESC
11624 IF @@ERROR <> 0
11625 BEGIN
11626 ROLLBACK
11627 RETURN (-1)
11628 END
11629
11630 /* 세트 ì¸ê¸°ìˆœìœ„ */
11631 IF EXISTS (SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#TempShopRankSet%')
11632 DROP TABLE #TempShopRankSet
11633
11634 SELECT TOP 5 IDENTITY(INT,1,1) Rank, 'set' AS Category, s.Name, COUNT(l.CSSID) AS Count, NULL AS CSID, l.CSSID,
11635 'set' AS Slot, s.ResSex, s.ResLevel, s.CashPrice
11636 INTO #TempShopRankSet
11637 FROM SetItemPurchaseLogByCash l(NOLOCK), CashSetShop s(NOLOCK)
11638 WHERE Date > DATEADD(day, -7, GetDate()) AND l.CSSID=s.CSSID
11639 GROUP BY l.CSSID, s.Name, s.ResSex, s.ResLevel, s.CashPrice
11640 ORDER BY Count DESC
11641 IF @@ERROR <> 0
11642 BEGIN
11643 ROLLBACK
11644 RETURN (-1)
11645 END
11646
11647 /* 샵ëží‚¹ 리셋 */
11648 DELETE FROM CashShopRank
11649
11650 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11651 SELECT * FROM #TempShopRankRange
11652 IF @@ERROR <> 0
11653 BEGIN
11654 ROLLBACK
11655 RETURN (-1)
11656 END
11657
11658 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11659 SELECT * FROM #TempShopRankMelee
11660 IF @@ERROR <> 0
11661 BEGIN
11662 ROLLBACK
11663 RETURN (-1)
11664 END
11665
11666 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11667 SELECT * FROM #TempShopRankSpecial
11668 IF @@ERROR <> 0
11669 BEGIN
11670 ROLLBACK
11671 RETURN (-1)
11672 END
11673
11674 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11675 SELECT * FROM #TempShopRankArmor
11676 IF @@ERROR <> 0
11677 BEGIN
11678 ROLLBACK
11679 RETURN (-1)
11680 END
11681
11682 INSERT INTO CashShopRank (Rank, Category, Name, Count, CSID, CSSID, Slot, ResSex, ResLevel, CashPrice)
11683 SELECT * FROM #TempShopRankSet
11684 IF @@ERROR <> 0
11685 BEGIN
11686 ROLLBACK
11687 RETURN (-1)
11688 END
11689
11690 DROP TABLE #TempShopRankRange
11691 DROP TABLE #TempShopRankMelee
11692 DROP TABLE #TempShopRankSpecial
11693 DROP TABLE #TempShopRankArmor
11694 DROP TABLE #TempShopRankSet
11695 COMMIT TRAN
11696 RETURN (1)
11697END
11698
11699
11700
11701
11702
11703GO
11704/****** Object: StoredProcedure [dbo].[spRemoveClanMember] Script Date: 28-05-2018 18:12:28 ******/
11705SET ANSI_NULLS ON
11706GO
11707SET QUOTED_IDENTIFIER ON
11708GO
11709
11710
11711-- 멤버 ì‚ì œ
11712CREATE PROC [dbo].[spRemoveClanMember]
11713 @CLID int,
11714 @CID int
11715AS
11716 SET NOCOUNT ON
11717 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11718
11719
11720
11721
11722
11723GO
11724/****** Object: StoredProcedure [dbo].[spRemoveClanMemberFromCharName] Script Date: 28-05-2018 18:12:28 ******/
11725SET ANSI_NULLS ON
11726GO
11727SET QUOTED_IDENTIFIER ON
11728GO
11729
11730
11731
11732-- 멤버 ì´ë¦„으로 멤버 ì‚ì œ
11733CREATE PROC [dbo].[spRemoveClanMemberFromCharName]
11734 @CLID int,
11735 @AdminGrade int, -- íƒˆí‡´ì‹œí‚¤ë ¤ê³ í•˜ëŠ” ì‚¬ëžŒì˜ ê¶Œí•œ
11736 @MemberCharName varchar(36)
11737AS
11738 SET NOCOUNT ON
11739 DECLARE @CID int
11740 DECLARE @MemberGrade int
11741
11742
11743 SELECT @CID=c.cid, @MemberGrade=cm.Grade FROM Character c(nolock), ClanMember cm(nolock)
11744 WHERE cm.clid=@CLID AND c.cid=cm.cid AND c.Name=@MemberCharName AND (DeleteFlag=0)
11745
11746 IF (@CID IS NULL)
11747 BEGIN
11748 SELECT 0 As Ret
11749 return (-1)
11750 END
11751
11752 IF @AdminGrade >= @MemberGrade
11753 BEGIN
11754 SELECT 2 As Ret
11755 return (-1)
11756 END
11757
11758
11759 IF @CID IS NOT NULL
11760 BEGIN
11761 BEGIN TRAN
11762 DELETE FROM ClanMember WHERE (CLID=@CLID) AND (CID=@CID) AND (Grade != 1)
11763 IF 0 <> @@ERROR BEGIN
11764 ROLLBACK TRAN
11765 SELECT 3 AS Ret -- ìˆ˜ì •ëœ ë¶€ë¶„. By SungE
11766 RETURN
11767 END
11768 COMMIT TRAN
11769 SELECT 1 As Ret
11770 END
11771
11772/* Retê°’ 설명 : 1 - 성공, 0 - 해당í´ëžœì›ì´ 없다. , 2 - ê¶Œí•œì´ ë§žì§€ 않다. */
11773
11774
11775
11776
11777
11778GO
11779/****** Object: StoredProcedure [dbo].[spRemoveFriend] Script Date: 28-05-2018 18:12:28 ******/
11780SET ANSI_NULLS ON
11781GO
11782SET QUOTED_IDENTIFIER ON
11783GO
11784
11785
11786-- 친구 ì‚ì œ
11787CREATE PROC [dbo].[spRemoveFriend]
11788 @CID int
11789, @FriendCID int
11790AS
11791SET NOCOUNT ON
11792UPDATE Friend
11793SET DeleteFlag=1
11794WHERE CID=@CID AND FriendCID=@FriendCID
11795
11796
11797
11798
11799
11800GO
11801/****** Object: StoredProcedure [dbo].[spReserveCloseClan] Script Date: 28-05-2018 18:12:28 ******/
11802SET ANSI_NULLS ON
11803GO
11804SET QUOTED_IDENTIFIER ON
11805GO
11806
11807CREATE PROC [dbo].[spReserveCloseClan]
11808 @CLID int
11809, @ClanName varchar(24)
11810, @MasterCID int
11811, @DeleteDate smalldatetime
11812AS
11813 UPDATE Clan SET DeleteFlag=2 WHERE CLID=@CLID AND Name=@ClanName AND MasterCID=@MasterCID
11814
11815
11816
11817
11818GO
11819/****** Object: StoredProcedure [dbo].[spResetAccountHackingBlock] Script Date: 28-05-2018 18:12:28 ******/
11820SET ANSI_NULLS ON
11821GO
11822SET QUOTED_IDENTIFIER ON
11823GO
11824
11825
11826CREATE PROC [dbo].[spResetAccountHackingBlock]
11827 @AID INT
11828, @HackingType TINYINT
11829AS
11830BEGIN
11831 SET NOCOUNT ON
11832
11833 UPDATE Account
11834 SET HackingType = @HackingType
11835 WHERE AID = @AID
11836END
11837
11838
11839
11840
11841GO
11842/****** Object: StoredProcedure [dbo].[spSearchCashItem] Script Date: 28-05-2018 18:12:28 ******/
11843SET ANSI_NULLS ON
11844GO
11845SET QUOTED_IDENTIFIER ON
11846GO
11847
11848
11849/* ì•„ì´í…œ 검색 */
11850CREATE PROC [dbo].[spSearchCashItem]
11851 @Slot tinyint,
11852 @ResSex tinyint,
11853 @ResMinLevel int = NULL,
11854 @ResMaxLevel int = NULL,
11855 @ItemName varchar(256) = '',
11856 @Page int = 1,
11857 @PageCount int OUTPUT
11858AS
11859SET NOCOUNT ON
11860
11861SELECT @PageCount = 1
11862
11863SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11864cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11865i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11866WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11867ORDER BY cs.csid DESC
11868
11869
11870
11871
11872
11873
11874GO
11875/****** Object: StoredProcedure [dbo].[spSearchCashItem2] Script Date: 28-05-2018 18:12:28 ******/
11876SET ANSI_NULLS ON
11877GO
11878SET QUOTED_IDENTIFIER ON
11879GO
11880
11881
11882/* ì•„ì´í…œ 검색 */
11883CREATE PROC [dbo].[spSearchCashItem2]
11884 @Slot tinyint,
11885 @ResSex tinyint,
11886 @ResMinLevel int = NULL,
11887 @ResMaxLevel int = NULL,
11888 @ItemName varchar(256) = '',
11889 @Page int = 1,
11890 @PageCount int OUTPUT
11891AS
11892SET NOCOUNT ON
11893
11894SELECT @PageCount = 1
11895
11896SELECT cs.csid AS CSID, i.name AS Name, i.Slot AS Slot, cs.CashPrice AS Cash,
11897cs.WebImgName AS WebImgName, i.ResSex AS ResSex, i.ResLevel AS ResLevel, i.Weight AS Weight,
11898i.Description AS Description, cs.NewItemOrder AS IsNewItem, cs.RentType AS RentType FROM CashShop cs(nolock), Item i(nolock)
11899WHERE i.ItemID = cs.ItemID AND i.Name=@ItemName AND cs.Opened=1
11900ORDER BY cs.csid DESC
11901
11902
11903
11904
11905
11906
11907GO
11908/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
11909SET ANSI_NULLS ON
11910GO
11911SET QUOTED_IDENTIFIER ON
11912GO
11913
11914
11915/* 순위 검색 */
11916CREATE PROC [dbo].[spSearchTotalRankingByName]
11917 @Name varchar(24)
11918AS
11919SET NOCOUNT ON
11920-- 와ì¼ë“œì¹´ë“œ ë¬¸ìž ì²˜ë¦¬
11921--SELECT @Name = REPLACE(@Name, '[', '[[]')
11922--SELECT @Name = REPLACE(@Name, '%', '[%]')
11923--SELECT @Name = REPLACE(@Name, '_', '[_]')
11924
11925SELECT Rank, Level, UserID, Name, XP, KillCount, DeathCount
11926FROM TotalRanking(nolock)
11927WHERE Name=@Name
11928
11929
11930
11931
11932
11933
11934
11935GO
11936/****** Object: StoredProcedure [dbo].[spSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
11937SET ANSI_NULLS ON
11938GO
11939SET QUOTED_IDENTIFIER ON
11940GO
11941
11942
11943
11944-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
11945CREATE PROC [dbo].[spSearchTotalRankingByNetmarbleID]
11946 @UserID varchar(20)
11947AS
11948SET NOCOUNT ON
11949BEGIN
11950 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
11951 FROM TotalRanking (NOLOCK)
11952 WHERE Name = @UserID
11953END
11954
11955
11956
11957
11958
11959GO
11960/****** Object: StoredProcedure [dbo].[spSelectAccountItem] Script Date: 28-05-2018 18:12:28 ******/
11961SET ANSI_NULLS ON
11962GO
11963SET QUOTED_IDENTIFIER ON
11964GO
11965
11966
11967/* 중앙ì€í–‰ ì•„ì´í…œ 보기 */
11968CREATE PROC [dbo].[spSelectAccountItem]
11969 @AID int
11970AS
11971SET NOCOUNT ON
11972
11973DECLARE @NowTime DATETIME
11974SELECT @NowTime = GETDATE()
11975
11976SELECT AIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
11977FROM AccountItem(NOLOCK)
11978WHERE AID=@AID ORDER BY AIID
11979
11980
11981
11982
11983
11984
11985
11986GO
11987/****** Object: StoredProcedure [dbo].[spSelectCharItem] Script Date: 28-05-2018 18:12:28 ******/
11988SET ANSI_NULLS ON
11989GO
11990SET QUOTED_IDENTIFIER ON
11991GO
11992
11993
11994/* ìºë¦í„° ì•„ì´í…œ 보기 */
11995CREATE PROC [dbo].[spSelectCharItem]
11996 @CID int
11997AS
11998SET NOCOUNT ON
11999
12000DECLARE @NowTime DATETIME
12001SELECT @NowTime = GETDATE()
12002
12003SELECT CIID, ItemID, (RentHourPeriod*60) - (DateDiff(n, RentDate, @NowTime)) AS RentPeriodRemainder
12004FROM CharacterItem (nolock)
12005WHERE CID=@CID ORDER BY CIID
12006
12007
12008
12009
12010
12011
12012
12013GO
12014/****** Object: StoredProcedure [dbo].[spSelectCharQuestItemInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
12015SET ANSI_NULLS ON
12016GO
12017SET QUOTED_IDENTIFIER ON
12018GO
12019
12020
12021CREATE PROC [dbo].[spSelectCharQuestItemInfoByCID]
12022 @CID int
12023AS
12024BEGIN
12025 SET NOCOUNT ON
12026 SELECT QuestItemInfo FROM Character (NOLOCK) WHERE CID = @CID
12027END
12028
12029
12030
12031
12032
12033GO
12034/****** Object: StoredProcedure [dbo].[spSellBountyItem] Script Date: 28-05-2018 18:12:28 ******/
12035SET ANSI_NULLS ON
12036GO
12037SET QUOTED_IDENTIFIER ON
12038GO
12039
12040
12041-- 게임내 ìƒì ì—서 ì•„ì´í…œ íŒë§¤
12042CREATE PROC [dbo].[spSellBountyItem]
12043 @CID INT,
12044 @ItemID INT,
12045 @CIID INT,
12046 @Price INT,
12047 @CharBP INT
12048AS
12049SET NOCOUNT ON
12050BEGIN
12051 BEGIN TRAN
12052 -- Item ì‚ì œ
12053 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND CIID=@CIID
12054 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12055 BEGIN
12056 ROLLBACK
12057 RETURN (-1)
12058 END
12059
12060 -- Bounty ì¦ê°€
12061 UPDATE Character SET BP=BP+@Price WHERE CID=@CID
12062 IF (@@ERROR <> 0) OR (@@ROWCOUNT = 0)
12063 BEGIN
12064 ROLLBACK
12065 RETURN (-1)
12066 END
12067
12068 -- Item íŒë§¤ 로그 추가
12069 INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
12070 VALUES (@ItemID, @CID, GETDATE(), @Price, @CharBP, 'íŒë§¤')
12071 IF 0 <> @@ERROR BEGIN
12072 ROLLBACK TRAN
12073 RETURN (-1)
12074 END
12075
12076 SELECT 1 as Ret
12077 COMMIT TRAN
12078
12079 RETURN 1
12080END
12081
12082
12083
12084
12085
12086GO
12087/****** Object: StoredProcedure [dbo].[spSimpleUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12088SET ANSI_NULLS ON
12089GO
12090SET QUOTED_IDENTIFIER ON
12091GO
12092
12093
12094
12095/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - 한사람 죽ì¼ë•Œë§ˆë‹¤ ì—…ë°ì´íŠ¸í•œë‹¤. */
12096CREATE PROC [dbo].[spSimpleUpdateChar]
12097 @CID int,
12098 @Name varchar(24),
12099 @Level smallint,
12100 @XP int,
12101 @BP int
12102AS
12103SET NOCOUNT ON
12104UPDATE Character WITH (rowlock)
12105SET Level=@Level, XP=@XP, BP=@BP
12106WHERE CID=@CID AND Name=@Name
12107
12108
12109
12110
12111
12112GO
12113/****** Object: StoredProcedure [dbo].[spStartUpLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12114SET ANSI_NULLS ON
12115GO
12116SET QUOTED_IDENTIFIER OFF
12117GO
12118
12119CREATE PROC [dbo].[spStartUpLocatorStatus]
12120 @LocatorID int
12121, @IP varchar(15)
12122, @Port int
12123, @UpdateElapsedTime int
12124AS
12125 SET NOCOUNT ON
12126 IF EXISTS (SELECT LocatorID FROM LocatorStatus(NOLOCK)
12127 WHERE LocatorID = @LocatorID) BEGIN
12128 UPDATE LocatorStatus
12129 SET IP = @IP, Port = @Port, UpdateElapsedTime = @UpdateElapsedTime,
12130 LastUpdatedTime = GETDATE()
12131 WHERE LocatorID = @LocatorID
12132 END
12133 ELSE BEGIN
12134 INSERT INTO LocatorStatus(LocatorID, IP, Port, UpdateElapsedTime, LastUpdatedTime)
12135 VALUES (@LocatorID, @IP, @Port, @UpdateElapsedTime, GETDATE())
12136 END
12137
12138
12139
12140
12141GO
12142/****** Object: StoredProcedure [dbo].[spUpdateAccountLastLogoutTime] Script Date: 28-05-2018 18:12:28 ******/
12143SET ANSI_NULLS ON
12144GO
12145SET QUOTED_IDENTIFIER ON
12146GO
12147
12148CREATE PROC [dbo].[spUpdateAccountLastLogoutTime]
12149 @AID int
12150AS
12151BEGIN
12152 SET NOCOUNT ON
12153
12154 UPDATE Account SET LastLogoutTime = GETDATE() WHERE AID = @AID
12155END
12156
12157
12158
12159
12160GO
12161/****** Object: StoredProcedure [dbo].[spUpdateAccountUGrade] Script Date: 28-05-2018 18:12:28 ******/
12162SET ANSI_NULLS ON
12163GO
12164SET QUOTED_IDENTIFIER ON
12165GO
12166
12167
12168-- 패ë„í‹° ì ìš©
12169CREATE PROC [dbo].[spUpdateAccountUGrade]
12170 @AID int
12171, @UGrade int
12172, @Period int
12173AS
12174BEGIN TRAN
12175 SET NOCOUNT ON
12176 UPDATE Account SET UGradeID=@UGrade WHERE AID=@AID
12177 IF 0 = @@ROWCOUNT BEGIN
12178 ROLLBACK TRAN
12179 RETURN
12180 END
12181
12182
12183 IF (@UGrade >= 100) AND (@UGrade<=253) BEGIN
12184 INSERT INTO PenaltyLog(AID, UGradeID, Date) Values(@AID, @UGrade, GETDATE())
12185 IF 0 <> @@ERROR BEGIN
12186 ROLLBACK TRAN
12187 RETURN
12188 END
12189 END
12190
12191 IF @UGrade = 104 OR @UGrade=105 BEGIN
12192 INSERT INTO AccountPenaltyPeriod(AID, DayLeft) VALUES(@AID, @Period)
12193 IF 0 <> @@ERROR BEGIN
12194 ROLLBACK TRAN
12195 RETURN
12196 END
12197 END
12198 ELSE
12199 BEGIN
12200 -- 기간 패ë„í‹° í•´ì œ
12201 DELETE FROM AccountPenaltyPeriod WHERE AID=@AID
12202 IF 0 <> @@ERROR BEGIN
12203 ROLLBACK TRAN
12204 RETURN
12205 END
12206 END
12207COMMIT TRAN
12208
12209
12210
12211
12212
12213
12214GO
12215/****** Object: StoredProcedure [dbo].[spUpdateChar] Script Date: 28-05-2018 18:12:28 ******/
12216SET ANSI_NULLS ON
12217GO
12218SET QUOTED_IDENTIFIER ON
12219GO
12220
12221
12222/* ìºë¦í„° ì •ë³´ ì—…ë°ì´íЏ - ì•„ì´í…œ ì •ë³´ëŠ” ì—…ë°ì´íЏ 하지 않는다. */
12223CREATE PROC [dbo].[spUpdateChar]
12224 @Name varchar(24),
12225 @CharNum smallint,
12226 @Level smallint,
12227 @Sex tinyint,
12228 @Hair tinyint,
12229 @Face tinyint,
12230 @XP int,
12231 @BP int,
12232 @HP smallint,
12233 @AP smallint,
12234 @FR smallint,
12235 @CR smallint,
12236 @ER smallint,
12237 @WR smallint
12238AS
12239SET NOCOUNT ON
12240UPDATE Character WITH (rowlock)
12241SET Name=@Name, Level=@Level, Sex=@Sex, Hair=@Hair, Face=@Face, XP=@XP, BP=@BP,
12242 HP=@HP, AP=@AP, FR=@FR, CR=@CR, ER=@ER, WR=@WR
12243WHERE Name=@Name and CharNum=@CharNum
12244
12245
12246
12247
12248
12249
12250GO
12251/****** Object: StoredProcedure [dbo].[spUpdateCharBP] Script Date: 28-05-2018 18:12:28 ******/
12252SET ANSI_NULLS ON
12253GO
12254SET QUOTED_IDENTIFIER ON
12255GO
12256
12257
12258
12259
12260/* BP ì—…ë°ì´íЏ */
12261CREATE PROC [dbo].[spUpdateCharBP]
12262 @BPInc int,
12263 @CID int
12264AS
12265SET NOCOUNT ON
12266UPDATE Character
12267SET BP=BP+(@BPInc)
12268WHERE CID=@CID
12269
12270
12271
12272
12273
12274
12275GO
12276/****** Object: StoredProcedure [dbo].[spUpdateCharClanContPoint] Script Date: 28-05-2018 18:12:28 ******/
12277SET ANSI_NULLS ON
12278GO
12279SET QUOTED_IDENTIFIER ON
12280GO
12281
12282
12283-- í´ëžœê¸°ì—¬ë„ ì—…ë°ì´íЏ
12284CREATE PROC [dbo].[spUpdateCharClanContPoint]
12285 @CID int,
12286 @CLID int,
12287 @AddedContPoint int
12288AS
12289 SET NOCOUNT ON
12290 Update ClanMember SET ContPoint=ContPoint+@AddedContPoint WHERE CID=@CID AND CLID=@CLID
12291
12292
12293
12294
12295
12296GO
12297/****** Object: StoredProcedure [dbo].[spUpdateCharInfoData] Script Date: 28-05-2018 18:12:28 ******/
12298SET ANSI_NULLS ON
12299GO
12300SET QUOTED_IDENTIFIER ON
12301GO
12302
12303
12304
12305
12306/* ìºë¦í„° ì •ë³´(XP, BP, KillCount, DeathCount) ì—…ë°ì´íЏ */
12307CREATE PROC [dbo].[spUpdateCharInfoData]
12308 @XPInc int,
12309 @BPInc int,
12310 @KillInc int,
12311 @DeathInc int,
12312 @CID int
12313AS
12314SET NOCOUNT ON
12315
12316UPDATE Character
12317SET XP=XP+(@XPInc), BP=BP+(@BPInc), KillCount=KillCount+(@KillInc), DeathCount=DeathCount+(@DeathInc)
12318WHERE CID=@CID
12319
12320
12321
12322
12323
12324
12325GO
12326/****** Object: StoredProcedure [dbo].[spUpdateCharLevel] Script Date: 28-05-2018 18:12:28 ******/
12327SET ANSI_NULLS ON
12328GO
12329SET QUOTED_IDENTIFIER ON
12330GO
12331
12332
12333
12334/* ë ˆë²¨ ì—…ë°ì´íЏ */
12335CREATE PROC [dbo].[spUpdateCharLevel]
12336 @Level smallint,
12337 @CID int
12338AS
12339SET NOCOUNT ON
12340UPDATE Character
12341Set Level=@Level
12342WHERE CID=@CID
12343
12344
12345
12346
12347
12348
12349GO
12350/****** Object: StoredProcedure [dbo].[spUpdateCharPlayTime] Script Date: 28-05-2018 18:12:28 ******/
12351SET ANSI_NULLS ON
12352GO
12353SET QUOTED_IDENTIFIER ON
12354GO
12355
12356
12357
12358
12359
12360/* ìºë¦í„° í”Œë ˆì´ ì‹œê°„ ì—…ë°ì´íЏ */
12361CREATE PROC [dbo].[spUpdateCharPlayTime]
12362 @PlayTimeInc int,
12363 @CID int
12364AS
12365SET NOCOUNT ON
12366
12367UPDATE Character
12368SET PlayTime=PlayTime+(@PlayTimeInc), LastTime=GETDATE()
12369WHERE CID=@CID
12370
12371
12372
12373
12374
12375
12376GO
12377/****** Object: StoredProcedure [dbo].[spUpdateClanGrade] Script Date: 28-05-2018 18:12:28 ******/
12378SET ANSI_NULLS ON
12379GO
12380SET QUOTED_IDENTIFIER ON
12381GO
12382
12383
12384
12385
12386-- 권한 변경
12387CREATE PROC [dbo].[spUpdateClanGrade]
12388 @CLID int,
12389 @CID int,
12390 @NewGrade tinyint
12391AS
12392 SET NOCOUNT ON
12393 UPDATE ClanMember SET Grade=@NewGrade WHERE CLID=@CLID AND CID=@CID
12394
12395
12396
12397
12398
12399GO
12400/****** Object: StoredProcedure [dbo].[spUpdateEquipItem] Script Date: 28-05-2018 18:12:28 ******/
12401SET ANSI_NULLS ON
12402GO
12403SET QUOTED_IDENTIFIER ON
12404GO
12405
12406
12407/* ì•„ì´í…œ 장비 */
12408CREATE PROC [dbo].[spUpdateEquipItem]
12409 @CID int,
12410 @ItemParts int,
12411 @CIID int,
12412 @ItemID int
12413AS
12414
12415SET NoCount ON
12416
12417DECLARE @Ret int
12418DECLARE @IF_CIID int
12419
12420SELECT @Ret = 1
12421
12422-- Head
12423IF @ItemParts = 0
12424BEGIN
12425 IF @CIID = 0
12426 BEGIN
12427 UPDATE Character SET head_slot=NULL, head_itemid=NULL WHERE CID=@CID
12428 END
12429 ELSE
12430 BEGIN
12431 UPDATE Character SET head_slot=@CIID, head_itemid=@ItemID WHERE CID=@CID
12432 END
12433END
12434-- Chest
12435ELSE IF @ItemParts = 1
12436BEGIN
12437 IF @CIID = 0
12438 BEGIN
12439 UPDATE Character SET chest_slot=NULL, chest_itemid=NULL WHERE CID=@CID
12440 END
12441 ELSE
12442 BEGIN
12443 UPDATE Character SET chest_slot=@CIID, chest_itemid=@ItemID WHERE CID=@CID
12444 END
12445END
12446-- Hands
12447ELSE IF @ItemParts = 2
12448BEGIN
12449 IF @CIID = 0
12450 BEGIN
12451 UPDATE Character SET hands_slot=NULL, hands_itemid=NULL WHERE CID=@CID
12452 END
12453 ELSE
12454 BEGIN
12455 UPDATE Character SET hands_slot=@CIID, hands_itemid=@ItemID WHERE CID=@CID
12456 END
12457END
12458-- Legs
12459ELSE IF @ItemParts = 3
12460BEGIN
12461 IF @CIID = 0
12462 BEGIN
12463 UPDATE Character SET legs_slot=NULL, legs_itemid=NULL WHERE CID=@CID
12464 END
12465 ELSE
12466 BEGIN
12467 UPDATE Character SET legs_slot=@CIID, legs_itemid=@ItemID WHERE CID=@CID
12468 END
12469END
12470-- Feet
12471ELSE IF @ItemParts = 4
12472BEGIN
12473 IF @CIID = 0
12474 BEGIN
12475 UPDATE Character SET feet_slot=NULL, feet_itemid=NULL WHERE CID=@CID
12476 END
12477 ELSE
12478 BEGIN
12479 UPDATE Character SET feet_slot=@CIID, feet_itemid=@ItemID WHERE CID=@CID
12480 END
12481END
12482-- FingerL
12483ELSE IF @ItemParts = 5
12484BEGIN
12485 IF @CIID = 0
12486 BEGIN
12487 UPDATE Character SET fingerl_slot=NULL, fingerl_itemid=NULL WHERE CID=@CID
12488 END
12489 ELSE
12490 BEGIN
12491 SELECT @IF_CIID = fingerr_slot FROM Character(nolock) WHERE CID=@CID
12492 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12493 BEGIN
12494 SELECT @Ret = 0
12495 END
12496 ELSE
12497 BEGIN
12498 UPDATE Character SET fingerl_slot=@CIID, fingerl_itemid=@ItemID WHERE CID=@CID
12499 END
12500 END
12501END
12502-- FingerR
12503ELSE IF @ItemParts = 6
12504BEGIN
12505 IF @CIID = 0
12506 BEGIN
12507 UPDATE Character SET fingerr_slot=NULL, fingerr_itemid=NULL WHERE CID=@CID
12508 END
12509 ELSE
12510 BEGIN
12511 SELECT @IF_CIID = fingerl_slot FROM Character(nolock) WHERE CID=@CID
12512 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12513 BEGIN
12514 SELECT @Ret = 0
12515 END
12516 ELSE
12517 BEGIN
12518 UPDATE Character SET fingerr_slot=@CIID, fingerr_itemid=@ItemID WHERE CID=@CID
12519 END
12520 END
12521END
12522-- Melee
12523ELSE IF @ItemParts = 7
12524BEGIN
12525 IF @CIID = 0
12526 BEGIN
12527 UPDATE Character SET melee_slot=NULL, melee_itemid=NULL WHERE CID=@CID
12528 END
12529 ELSE
12530 BEGIN
12531 UPDATE Character SET melee_slot=@CIID, melee_itemid=@ItemID WHERE CID=@CID
12532 END
12533END
12534-- Primary
12535ELSE IF @ItemParts = 8
12536BEGIN
12537 IF @CIID = 0
12538 BEGIN
12539 UPDATE Character SET primary_slot=NULL, primary_itemid=NULL WHERE CID=@CID
12540 END
12541 ELSE
12542 BEGIN
12543 SELECT @IF_CIID = secondary_slot FROM Character(nolock) WHERE CID=@CID
12544 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12545 BEGIN
12546 SELECT @Ret = 0
12547 END
12548 ELSE
12549 BEGIN
12550 UPDATE Character SET primary_slot=@CIID, primary_itemid=@ItemID WHERE CID=@CID
12551 END
12552 END
12553END
12554-- Secondary
12555ELSE IF @ItemParts = 9
12556BEGIN
12557 IF @CIID = 0
12558 BEGIN
12559 UPDATE Character SET secondary_slot=NULL, secondary_itemid=NULL WHERE CID=@CID
12560 END
12561 ELSE
12562 BEGIN
12563 SELECT @IF_CIID = primary_slot FROM Character(nolock) WHERE CID=@CID
12564 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12565 BEGIN
12566 SELECT @Ret = 0
12567 END
12568 ELSE
12569 BEGIN
12570 UPDATE Character SET secondary_slot=@CIID, secondary_itemid=@ItemID WHERE CID=@CID
12571 END
12572 END
12573END
12574-- Custom1
12575ELSE IF @ItemParts = 10
12576BEGIN
12577 IF @CIID = 0
12578 BEGIN
12579 UPDATE Character SET custom1_slot=NULL, custom1_itemid=NULL WHERE CID=@CID
12580 END
12581 ELSE
12582 BEGIN
12583 SELECT @IF_CIID = custom2_slot FROM Character(nolock) WHERE CID=@CID
12584 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12585 BEGIN
12586 SELECT @Ret = 0
12587 END
12588 ELSE
12589 BEGIN
12590 UPDATE Character SET custom1_slot=@CIID, custom1_itemid=@ItemID WHERE CID=@CID
12591 END
12592 END
12593END
12594-- Custom2
12595ELSE IF @ItemParts = 11
12596BEGIN
12597 IF @CIID = 0
12598 BEGIN
12599 UPDATE Character SET custom2_slot=NULL, custom2_itemid=NULL WHERE CID=@CID
12600 END
12601 ELSE
12602 BEGIN
12603 SELECT @IF_CIID = custom1_slot FROM Character(nolock) WHERE CID=@CID
12604 IF (@IF_CIID IS NOT NULL) AND (@IF_CIID = @CIID)
12605 BEGIN
12606 SELECT @Ret = 0
12607 END
12608 ELSE
12609 BEGIN
12610 UPDATE Character SET custom2_slot=@CIID, custom2_itemid=@ItemID WHERE CID=@CID
12611 END
12612 END
12613END
12614
12615
12616
12617SELECT @Ret AS Ret
12618
12619
12620
12621
12622
12623
12624GO
12625/****** Object: StoredProcedure [dbo].[spUpdateLastConnDate] Script Date: 28-05-2018 18:12:28 ******/
12626SET ANSI_NULLS ON
12627GO
12628SET QUOTED_IDENTIFIER ON
12629GO
12630
12631
12632/* LastConn, IP를 ì €ìž¥í•œë‹¤. */
12633CREATE PROC [dbo].[spUpdateLastConnDate]
12634 @IP varchar(20),
12635 @UserID varchar(20)
12636AS
12637SET NOCOUNT ON
12638UPDATE Login SET LastConnDate=GETDATE(), LastIP=@IP WHERE UserID = @UserID
12639
12640
12641
12642
12643
12644
12645GO
12646/****** Object: StoredProcedure [dbo].[spUpdateLocatorStatus] Script Date: 28-05-2018 18:12:28 ******/
12647SET ANSI_NULLS ON
12648GO
12649SET QUOTED_IDENTIFIER ON
12650GO
12651
12652CREATE PROC [dbo].[spUpdateLocatorStatus]
12653 @LocatorID int
12654, @RecvCount int
12655, @SendCount int
12656, @BlockCount int
12657, @DuplicatedCount int
12658AS
12659 SET NOCOUNT ON
12660 UPDATE LocatorStatus
12661 SET RecvCount = @RecvCount, SendCount = @SendCount,
12662 BlockCount = @BlockCount, DuplicatedCount = @DuplicatedCount,
12663 LastUpdatedTime = GETDATE()
12664 WHERE LocatorID = @LocatorID
12665
12666
12667
12668
12669GO
12670/****** Object: StoredProcedure [dbo].[spUpdateServerStatus] Script Date: 28-05-2018 18:12:28 ******/
12671SET ANSI_NULLS ON
12672GO
12673SET QUOTED_IDENTIFIER ON
12674GO
12675
12676
12677
12678/* 서버 ë™ì ‘ìž ìƒíƒœ */
12679CREATE PROC [dbo].[spUpdateServerStatus]
12680 @CurrPlayer smallint,
12681 @ServerID int
12682AS
12683SET NOCOUNT ON
12684UPDATE ServerStatus
12685Set CurrPlayer=@CurrPlayer, Time=GETDATE()
12686WHERE ServerID=@ServerID
12687
12688
12689
12690
12691
12692
12693GO
12694/****** Object: StoredProcedure [dbo].[spWebCheckRegisteredUser] Script Date: 28-05-2018 18:12:28 ******/
12695SET ANSI_NULLS ON
12696GO
12697SET QUOTED_IDENTIFIER ON
12698GO
12699
12700CREATE PROC [dbo].[spWebCheckRegisteredUser]
12701 @UserID VARCHAR(20),
12702 @Ret int Output
12703AS
12704 SET NOCOUNT ON
12705 DECLARE @AID INT
12706 SELECT @AID = AID FROM Account(NOLOCK) WHERE UserID = @UserID
12707 IF @@ERROR <> 0 BEGIN
12708 SET @Ret = 0
12709 RETURN @Ret -- 디비장ì•
12710 END
12711
12712 IF @AID IS NULL BEGIN
12713 SET @Ret = -1
12714 RETURN @Ret -- 미가입ìž
12715 END
12716
12717 SET @Ret = 1
12718 RETURN @Ret -- ê°€ìž…ìž í™•ì¸
12719
12720
12721
12722
12723GO
12724/****** Object: StoredProcedure [dbo].[spWebDeleteClan] Script Date: 28-05-2018 18:12:28 ******/
12725SET ANSI_NULLS ON
12726GO
12727SET QUOTED_IDENTIFIER ON
12728GO
12729
12730
12731
12732-- 웹ì—서 í´ëžœ í쇄.
12733CREATE PROC [dbo].[spWebDeleteClan]
12734 @MasterName varchar(24) /* 마스터 ì´ë¦„ */
12735, @ClanName varchar(24) /* ë°©ì¶œí• í´ëžœì› ì´ë¦„ */
12736AS
12737SET NOCOUNT ON
12738BEGIN TRAN
12739 SET NOCOUNT ON
12740
12741 DECLARE @MasterCID int
12742 DECLARE @CLID int
12743
12744 SELECT @MasterCID = c.MasterCID, @CLID = c.CLID
12745 FROM Clan c (NOLOCK), Character ch(NOLOCK)
12746 WHERE ch.Name = @MasterName AND c.MasterCID = ch.CID
12747
12748 -- ìš”ì² ì¡°ê±´ 검사.
12749 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12750 BEGIN
12751 SELECT 0 AS Ret
12752 ROLLBACK TRAN
12753 SET NOCOUNT OFF
12754 RETURN
12755 END
12756
12757 -- Clan Member ì‚ì œ.
12758 DELETE ClanMember WHERE CLID = @CLID
12759 IF 0 <> @@ERROR
12760 BEGIN
12761 SELECT 0 AS Ret
12762 ROLLBACK TRAN
12763 SET NOCOUNT OFF
12764 RETURN
12765 END
12766
12767 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
12768 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
12769 IF 0 = @@ROWCOUNT BEGIN
12770 SELECT 0 AS Ret
12771 ROLLBACK TRAN
12772 SET NOCOUNT OFF
12773 RETURN
12774 END
12775
12776 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
12777 IF 0 = @@ROWCOUNT BEGIN
12778 SELECT 0 AS Ret
12779 ROLLBACK TRAN
12780 SET NOCOUNT OFF
12781 RETURN
12782 END
12783
12784 SELECT 1 AS Ret
12785
12786 SET NOCOUNT OFF
12787COMMIT TRAN
12788
12789
12790
12791
12792
12793GO
12794/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
12795SET ANSI_NULLS ON
12796GO
12797SET QUOTED_IDENTIFIER ON
12798GO
12799
12800
12801----------------------------------------------------------------------------
12802
12803-- 게시물 ì‚ì œ
12804CREATE PROC [dbo].[spWebDeleteClanAdsBoard]
12805 @Seq int
12806AS
12807 SET NOCOUNT ON
12808 BEGIN TRAN
12809 DELETE ClanAdsBoard WHERE Seq = @Seq
12810 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12811 ROLLBACK TRAN
12812 RETURN
12813 END
12814
12815 DECLARE @SEQCOUNT int
12816
12817 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanAdsComment(NOLOCK) WHERE Seq = @Seq
12818
12819 IF ( @SEQCOUNT > 0) BEGIN
12820 DELETE ClanAdsComment WHERE Seq = @Seq
12821 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12822 ROLLBACK TRAN
12823 RETURN
12824 END
12825 END
12826 COMMIT TRAN
12827
12828
12829
12830
12831GO
12832/****** Object: StoredProcedure [dbo].[spWebDeleteClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
12833SET ANSI_NULLS ON
12834GO
12835SET QUOTED_IDENTIFIER ON
12836GO
12837
12838
12839----------------------------------------------------------------------------
12840
12841-- 코멘트 게시물 ì‚ì œ
12842CREATE PROC [dbo].[spWebDeleteClanAdsComment]
12843 @ID int
12844AS
12845 SET NOCOUNT ON
12846 DECLARE @Seq int
12847
12848 SELECT @Seq = Seq FROM ClanAdsComment(NOLOCK) WHERE ID = @ID
12849
12850 BEGIN TRAN
12851 DELETE ClanAdsComment WHERE ID = @ID
12852 IF (@@ERROR <> 0) BEGIN
12853 ROLLBACK TRAN
12854 RETURN
12855 END
12856
12857 UPDATE ClanAdsBoard SET CommentCount = CommentCount - 1 WHERE Seq = @Seq
12858 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12859 ROLLBACK TRAN
12860 RETURN
12861 END
12862
12863 COMMIT TRAN
12864
12865
12866
12867
12868GO
12869/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoard] Script Date: 28-05-2018 18:12:28 ******/
12870SET ANSI_NULLS ON
12871GO
12872SET QUOTED_IDENTIFIER ON
12873GO
12874
12875
12876--------------------------------------------------------------------------------------------------------
12877
12878-- 게시물 ì‚ì œ
12879
12880CREATE PROC [dbo].[spWebDeleteClanBoard]
12881 @Seq int
12882AS
12883 SET NOCOUNT ON
12884 BEGIN TRAN
12885 DELETE ClanBoard WHERE Seq = @Seq
12886 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12887 ROLLBACK TRAN
12888 RETURN
12889 END
12890
12891 DECLARE @SEQCOUNT int
12892
12893 SELECT @SEQCOUNT = COUNT(Seq) FROM ClanBoardComment(NOLOCK) WHERE Seq = @Seq
12894
12895 IF ( @SEQCOUNT > 0) BEGIN
12896 DELETE ClanBoardComment WHERE Seq = @Seq
12897 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
12898 ROLLBACK TRAN
12899 RETURN
12900 END
12901 END
12902 COMMIT TRAN
12903
12904
12905
12906
12907
12908GO
12909/****** Object: StoredProcedure [dbo].[spWebDeleteClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
12910SET ANSI_NULLS ON
12911GO
12912SET QUOTED_IDENTIFIER ON
12913GO
12914
12915
12916--------------------------------------------------------------------------------------------------------
12917
12918-- 코멘트 게시물 ì‚ì œ
12919
12920CREATE PROC [dbo].[spWebDeleteClanBoardComment]
12921 @ID int
12922AS
12923 SET NOCOUNT ON
12924 DECLARE @Seq int
12925
12926 SELECT @Seq = Seq FROM ClanBoardComment(NOLOCK) Where ID = @ID
12927
12928 BEGIN TRAN
12929 DELETE ClanBoardComment WHERE ID = @ID
12930 IF (@@ERROR <> 0) BEGIN
12931 ROLLBACK TRAN
12932 RETURN
12933 END
12934
12935 Update ClanBoard Set CommentCount = CommentCount - 1 WHERE Seq = @Seq
12936 IF (0 <> @@ERROR) BEGIN
12937 ROLLBACK TRAN
12938 RETURN
12939 END
12940 COMMIT TRAN
12941
12942
12943
12944
12945GO
12946/****** Object: StoredProcedure [dbo].[spWebDeleteClanByCID] Script Date: 28-05-2018 18:12:28 ******/
12947SET ANSI_NULLS ON
12948GO
12949SET QUOTED_IDENTIFIER ON
12950GO
12951
12952
12953
12954-- CID로 í´ëžœ í쇄.
12955CREATE PROC [dbo].[spWebDeleteClanByCID]
12956 @MasterCID int /* 마스터 CID */
12957AS
12958SET NOCOUNT ON
12959BEGIN TRAN
12960
12961 DECLARE @CLID int
12962
12963 SELECT @CLID = c.CLID
12964 FROM Clan c(NOLOCK)
12965 WHERE c.MasterCID = @MasterCID
12966
12967 -- ìš”ì² ì¡°ê±´ 검사.
12968 IF (@MasterCID IS NULL) OR (@CLID IS NULL)
12969 BEGIN
12970 SELECT 0 AS Ret
12971 ROLLBACK TRAN
12972-- SET NOCOUNT OFF
12973 Select 0
12974 RETURN
12975 END
12976
12977 -- Clan Member ì‚ì œ.
12978 DELETE ClanMember WHERE CLID = @CLID
12979 IF 0 <> @@ERROR
12980 BEGIN
12981 SELECT 0 AS Ret
12982 ROLLBACK TRAN
12983-- SET NOCOUNT OFF
12984 Select 0
12985 RETURN
12986 END
12987
12988 -- Clanì„ ìœ íš¨í•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ì„¤ì •.
12989 UPDATE Clan SET DeleteFlag = 1, MasterCID = NULL, DeleteName = Name WHERE CLID = @CLID
12990 -- UPDATE Clan SET DeleteName = Name WHERE CLID = @CLID
12991 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
12992 SELECT 0 AS Ret
12993 ROLLBACK TRAN
12994 Select 0
12995 RETURN
12996 END
12997 UPDATE Clan SET Name = NULL WHERE CLID = @CLID
12998 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN -- 여기 추가.
12999 SELECT 0 AS Ret
13000 ROLLBACK TRAN
13001 Select 0
13002 RETURN
13003 END
13004
13005 SELECT 1
13006
13007
13008COMMIT TRAN
13009SET NOCOUNT OFF
13010
13011
13012
13013
13014
13015GO
13016/****** Object: StoredProcedure [dbo].[spWebFireClanMember] Script Date: 28-05-2018 18:12:28 ******/
13017SET ANSI_NULLS ON
13018GO
13019SET QUOTED_IDENTIFIER ON
13020GO
13021
13022
13023
13024-- 마스터가 í´ëžœì› ë°©ì¶œ.
13025CREATE PROC [dbo].[spWebFireClanMember]
13026 @Master varchar(24) /* í´ëžœ 마스터 CID */
13027, @ClanMem varchar(24) /* ë°©ì¶œí• í´ëžœì› ìºë¦í„° CID */
13028AS
13029SET NOCOUNT ON
13030BEGIN TRAN
13031 DECLARE @MasterCID int
13032 DECLARE @CLID int
13033 DECLARE @ClanMemCID int
13034
13035 -- ìžê²© 검사를 위해 í´ëžœì•„ì´ë””와 마스터 ì•„ì´í‹°ë¥¼ 구함.
13036 SELECT @CLID = cl.CLID, @MasterCID = cl.MasterCID
13037 FROM Character ch(NOLOCK), Clan cl(NOLOCK)
13038 WHERE ch.Name = @Master AND cl.MasterCID = ch.CID
13039
13040 -- ë°©ì¶©í•˜ë ¤ëŠ” í´ëžœ 맴버.
13041 SELECT @ClanMemCID = ch.CID
13042 FROM Character ch(NOLOCK)
13043 WHERE ch.Name = @ClanMem
13044
13045 -- í´ëžœì´ ì¡´ìž¬í•˜ê³ í´ëžœë§´ë²„ê°€ 존재해야 í•˜ê³ ë°©ì¶œë˜ëŠ” 맴버가 마스터가 아니어야 함.
13046 IF (@CLID IS NULL) OR (@ClanMemCID IS NULL) OR (@MasterCID = @ClanMemCID)
13047 BEGIN
13048 ROLLBACK TRAN
13049 SELECT 0
13050 RETURN
13051 END
13052
13053 DELETE ClanMember
13054 WHERE CLID = @CLID AND CID = @ClanMemCID
13055 IF 0 <> @@ERROR
13056 BEGIN
13057 ROLLBACK TRAN
13058 SELECT 0
13059 RETURN
13060 END
13061
13062 SELECT 1
13063COMMIT TRAN
13064SET NOCOUNT OFF
13065
13066
13067
13068
13069
13070GO
13071/****** Object: StoredProcedure [dbo].[spWebGetAccountMaxLevel] Script Date: 28-05-2018 18:12:28 ******/
13072SET ANSI_NULLS ON
13073GO
13074SET QUOTED_IDENTIFIER ON
13075GO
13076
13077
13078CREATE PROC [dbo].[spWebGetAccountMaxLevel]
13079 @UserID varchar(20)
13080AS
13081BEGIN
13082 SET NOCOUNT ON
13083 SELECT MAX(c.Level) FROM Account a(NOLOCK), Character c(NOLOCK)
13084 WHERE a.UserID=@UserID AND a.AID=c.AID AND c.DeleteFlag=0
13085END
13086
13087
13088
13089
13090
13091
13092GO
13093/****** Object: StoredProcedure [dbo].[spWebGetCashItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13094SET ANSI_NULLS ON
13095GO
13096SET QUOTED_IDENTIFIER ON
13097GO
13098
13099
13100
13101-- ì´ë¯¸ì§€ íŒŒì¼ ì´ë¦„ê³¼ ì•„ì´í…œ ì´ë¦„ì„ ê°€ì ¸ì˜´.
13102CREATE PROC [dbo].[spWebGetCashItemImageFile]
13103 @CSID int
13104, @RetImageFileName varchar(64) OUT
13105, @RetItemName varchar(256) OUT
13106AS
13107BEGIN
13108 SET NOCOUNT ON
13109 SELECT @RetImageFileName = cs.WebImgName, @RetItemName = i.Name
13110 FROM CashShop cs(NOLOCK), Item i(NOLOCK)
13111 WHERE cs.CSID = @CSID AND i.ItemID = cs.ItemID
13112
13113 RETURN 1
13114END
13115
13116
13117
13118
13119
13120GO
13121/****** Object: StoredProcedure [dbo].[spWebGetCashSetItemImageFile] Script Date: 28-05-2018 18:12:28 ******/
13122SET ANSI_NULLS ON
13123GO
13124SET QUOTED_IDENTIFIER ON
13125GO
13126
13127
13128
13129-- ìºì‰¬ 세트아ì´í…œ ì´ë¯¸ì§€íŒŒì¼ê³¼ ì•„ì´í…œ ì´ë¦„ 알아오기.
13130CREATE PROC [dbo].[spWebGetCashSetItemImageFile]
13131 @CSSID int
13132, @RetImageFileName varchar(64) OUTPUT
13133, @RetSetItemName varchar(64) OUTPUT
13134AS
13135SET NOCOUNT ON
13136BEGIN
13137 SELECT @RetImageFileName = css.WebImgName, @RetSetItemName = css.Name
13138 FROM CashSetShop css(NOLOCK)
13139 WHERE css.CSSID=@CSSID
13140
13141 RETURN 1
13142END
13143
13144
13145
13146
13147
13148GO
13149/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13150SET ANSI_NULLS ON
13151GO
13152SET QUOTED_IDENTIFIER ON
13153GO
13154
13155
13156----------------------------------------------------------------------------
13157
13158-- 게시물 내용 조회
13159CREATE PROC [dbo].[spWebGetClanAdsBoardContent]
13160 @Seq int
13161AS
13162 SET NOCOUNT ON
13163 SELECT Seq, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13164 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13165 FROM ClanAdsBoard
13166 WHERE Seq = @Seq
13167 ORDER BY Thread DESC
13168
13169
13170
13171
13172GO
13173/****** Object: StoredProcedure [dbo].[spWebGetClanAdsBoardList] Script Date: 28-05-2018 18:12:28 ******/
13174SET ANSI_NULLS ON
13175GO
13176SET QUOTED_IDENTIFIER ON
13177GO
13178
13179
13180----------------------------------------------------------------------------
13181
13182-- 게시물 조회
13183CREATE PROC [dbo].[spWebGetClanAdsBoardList]
13184AS
13185 SET NOCOUNT ON
13186 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13187 FROM ClanAdsBoard(NOLOCK)
13188 ORDER BY Thread DESC
13189
13190
13191
13192
13193GO
13194/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13195SET ANSI_NULLS ON
13196GO
13197SET QUOTED_IDENTIFIER ON
13198GO
13199
13200
13201----------------------------------------------------------------------------
13202
13203-- 게시물 코멘트 내용 조회
13204CREATE PROC [dbo].[spWebGetClanAdsCommentContent]
13205 @Seq int
13206AS
13207 SET NOCOUNT ON
13208 SELECT ID, Userid, Content, RegDate
13209 FROM ClanAdsComment(NOLOCK)
13210 WHERE Seq = @Seq
13211 ORDER BY RegDate
13212
13213
13214
13215
13216GO
13217/****** Object: StoredProcedure [dbo].[spWebGetClanAdsCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13218SET ANSI_NULLS ON
13219GO
13220SET QUOTED_IDENTIFIER ON
13221GO
13222
13223
13224----------------------------------------------------------------------------
13225
13226CREATE PROC [dbo].[spWebGetClanAdsCommentContentByID]
13227 @ID int
13228AS
13229 SET NOCOUNT ON
13230 SELECT ID, Userid, Content, RegDate
13231 FROM ClanAdsComment(NOLOCK)
13232 WHERE ID = @ID
13233 ORDER BY RegDate
13234
13235
13236
13237
13238GO
13239/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContent] Script Date: 28-05-2018 18:12:28 ******/
13240SET ANSI_NULLS ON
13241GO
13242SET QUOTED_IDENTIFIER ON
13243GO
13244
13245
13246--------------------------------------------------------------------------------------------------------
13247
13248-- 게시물 코멘트 내용 조회
13249
13250CREATE PROC [dbo].[spWebGetClanBoardCommentContent]
13251 @Seq int
13252AS
13253 SET NOCOUNT ON
13254 SELECT ID, Userid, Content, RegDate
13255 FROM ClanBoardComment (NOLOCK)
13256 WHERE Seq = @Seq
13257 ORDER BY RegDate
13258
13259
13260
13261
13262GO
13263/****** Object: StoredProcedure [dbo].[spWebGetClanBoardCommentContentByID] Script Date: 28-05-2018 18:12:28 ******/
13264SET ANSI_NULLS ON
13265GO
13266SET QUOTED_IDENTIFIER ON
13267GO
13268
13269
13270--------------------------------------------------------------------------------------------------------
13271
13272-- 게시물 코멘트 내용 조회 By ID
13273
13274CREATE PROC [dbo].[spWebGetClanBoardCommentContentByID]
13275 @ID int
13276AS
13277 SET NOCOUNT ON
13278 SELECT ID, Userid, Content, RegDate
13279 FROM ClanBoardComment(NOLOCK)
13280 WHERE ID = @ID
13281 ORDER BY RegDate
13282
13283
13284
13285
13286GO
13287/****** Object: StoredProcedure [dbo].[spWebGetClanBoardContent] Script Date: 28-05-2018 18:12:28 ******/
13288SET ANSI_NULLS ON
13289GO
13290SET QUOTED_IDENTIFIER ON
13291GO
13292
13293
13294--------------------------------------------------------------------------------------------------------
13295
13296-- 게시물 내용 조회
13297
13298CREATE PROC [dbo].[spWebGetClanBoardContent]
13299 @Seq int
13300AS
13301 SET NOCOUNT ON
13302 SELECT Seq, CLID, Userid, Subject, Content, RegDate, ReadCount, Recommend, FileName,
13303 Link, HTML, CommentCount, GR_ID, GR_Depth, GR_Pos, Thread
13304 FROM ClanBoard (NOLOCK)
13305 WHERE Seq = @Seq
13306 ORDER BY Thread DESC
13307
13308
13309
13310
13311GO
13312/****** Object: StoredProcedure [dbo].[spWebGetClanBoardList] Script Date: 28-05-2018 18:12:28 ******/
13313SET ANSI_NULLS ON
13314GO
13315SET QUOTED_IDENTIFIER ON
13316GO
13317
13318
13319--------------------------------------------------------------------------------------------------------
13320
13321-- 게시물 조회
13322
13323CREATE PROC [dbo].[spWebGetClanBoardList]
13324 @CLID int
13325AS
13326 SET NOCOUNT ON
13327 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
13328 FROM ClanBoard(NOLOCK)
13329 WHERE CLID = @CLID
13330 ORDER BY Thread DESC
13331
13332
13333
13334
13335GO
13336/****** Object: StoredProcedure [dbo].[spWebGetClanListSearchByMaster] Script Date: 28-05-2018 18:12:28 ******/
13337SET ANSI_NULLS ON
13338GO
13339SET QUOTED_IDENTIFIER ON
13340GO
13341
13342
13343
13344
13345/* í´ëžœ 목ë¡ì°¾ê¸° (마스터ì´ë¦„으로)
13346 Arg1 : @CharName (í´ëžœ 마스터 ì´ë¦„) */
13347CREATE PROC [dbo].[spWebGetClanListSearchByMaster]
13348 @CharName VARCHAR(24)
13349AS
13350SET NOCOUNT ON
13351BEGIN
13352 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
13353 FROM Clan cl(NOLOCK), Character c(nolock)
13354 WHERE c.Name = @CharName AND cl.DeleteFlag = 0 AND cl.MasterCID = c.CID
13355END
13356
13357
13358
13359
13360
13361GO
13362/****** Object: StoredProcedure [dbo].[spWebGetClanMembers] Script Date: 28-05-2018 18:12:28 ******/
13363SET ANSI_NULLS ON
13364GO
13365SET QUOTED_IDENTIFIER ON
13366GO
13367
13368CREATE PROC [dbo].[spWebGetClanMembers]
13369 @CLID int
13370AS
13371 SET NOCOUNT ON
13372 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
13373 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
13374 ON cm.CLID = @CLID AND c.CID = cm.CID
13375 ORDER BY cm.RegDate DESC
13376
13377
13378
13379
13380GO
13381/****** Object: StoredProcedure [dbo].[spWebGetClanRankByMaster] Script Date: 28-05-2018 18:12:28 ******/
13382SET ANSI_NULLS ON
13383GO
13384SET QUOTED_IDENTIFIER ON
13385GO
13386
13387
13388
13389-- í´ëžœ ëží‚¹ì„ 마스터 ì´ë¦„ì„ ì‚¬ìš©í•´ì„œ 검색.
13390CREATE PROC [dbo].[spWebGetClanRankByMaster]
13391 @MasterName varchar(24)
13392AS
13393SET NOCOUNT ON
13394BEGIN
13395 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
13396 FROM Clan cl(NOLOCK) JOIN Character c(NOLOCK)
13397 ON c.Name = @MasterName AND cl.MasterCID = c.CID AND cl.Ranking > 0
13398END
13399
13400
13401
13402
13403
13404GO
13405/****** Object: StoredProcedure [dbo].[spWebGetClanRanking] Script Date: 28-05-2018 18:12:28 ******/
13406SET ANSI_NULLS ON
13407GO
13408SET QUOTED_IDENTIFIER ON
13409GO
13410
13411
13412
13413-- Masterì´ë¦„ê³¼ RegDate추가.
13414/* í´ëžœ ëží‚¹ë³´ê¸° : 한페ì´ì§€ 20개씩 ê³ ì •
13415 Arg1 : @Page (페ì´ì§€ë„˜ë²„)
13416 Arg2 : @Backward (ìƒëžµí•˜ë©´ ì •ìƒìˆœì„œ, 1ì¼ê²½ìš° ì—순 */
13417CREATE PROC [dbo].[spWebGetClanRanking]
13418 @Page INT,
13419 @Backward INT = 0
13420AS
13421SET NOCOUNT ON
13422BEGIN
13423 /* 한페ì´ì§€ì— 20개씩 보여준다 (ì†ë„를위해 갯수 ê³ ì •) */
13424 DECLARE @RowCount INT
13425 DECLARE @PageHead INT
13426
13427 IF @Backward = 0
13428 BEGIN
13429 SELECT @RowCount = ((@Page -1) * 20 + 1)
13430 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
13431 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13432 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking >= @RowCount AND ch.CID = cl.MasterCID
13433 ORDER BY cl.Ranking
13434 END
13435 ELSE
13436 BEGIN
13437 SELECT @RowCount = ((@Page -1) * 20 + 1)
13438
13439 SET ROWCOUNT @RowCount
13440 SELECT @PageHead = Ranking FROM Clan(NOLOCK) WHERE DeleteFlag=0 ORDER BY Ranking DESC
13441
13442 SET ROWCOUNT 20
13443 SELECT Ranking, RankIncrease, ClanName, Point, Wins, Losses, CLID, EmblemUrl, Master, RegDate FROM
13444 (
13445 -- SELECT TOP 20 Ranking, RankIncrease, Name as ClanName, Point, Wins, Losses, CLID, EmblemUrl
13446 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
13447 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13448 WHERE cl.DeleteFlag=0 AND cl.Ranking>0 AND cl.Ranking <= @PageHead AND ch.CID = cl.MasterCID
13449 ORDER BY cl.Ranking DESC
13450 ) AS t ORDER BY Ranking
13451 END
13452END
13453
13454
13455
13456
13457
13458GO
13459/****** Object: StoredProcedure [dbo].[spWebGetClanRankingSearchByName] Script Date: 28-05-2018 18:12:28 ******/
13460SET ANSI_NULLS ON
13461GO
13462SET QUOTED_IDENTIFIER ON
13463GO
13464
13465
13466
13467-- í´ëžœ ì´ë¦„으로 검색.
13468CREATE PROC [dbo].[spWebGetClanRankingSearchByName]
13469 @Name VARCHAR(24) /* í´ëžœ ì´ë¦„ */
13470AS
13471SET NOCOUNT ON
13472BEGIN
13473 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
13474 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13475 WHERE ch.CID = cl.MasterCID AND cl.Ranking>0 AND cl.DeleteFlag=0 AND cl.Name=@Name
13476END
13477
13478
13479
13480
13481
13482GO
13483/****** Object: StoredProcedure [dbo].[spWebGetCLIDbyUserID] Script Date: 28-05-2018 18:12:28 ******/
13484SET ANSI_NULLS ON
13485GO
13486SET QUOTED_IDENTIFIER ON
13487GO
13488
13489CREATE PROC [dbo].[spWebGetCLIDbyUserID]
13490 @UserID varchar(20)
13491AS
13492 SET NOCOUNT ON
13493 SELECT cm.CLID
13494 FROM Account ac(NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK)
13495 WHERE ac.UserID = @UserID AND ch.AID = ac.AID AND cm.CID = ch.CID
13496
13497
13498
13499
13500GO
13501/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfo] Script Date: 28-05-2018 18:12:28 ******/
13502SET ANSI_NULLS ON
13503GO
13504SET QUOTED_IDENTIFIER ON
13505GO
13506
13507
13508
13509-- Myëží‚¹ì •ë³´.
13510CREATE PROC [dbo].[spWebGetMyClanInfo]
13511 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13512AS
13513SET NOCOUNT ON
13514BEGIN
13515 DECLARE @CLID int
13516
13517 SELECT @CLID = cm.CLID
13518 FROM Account a (NOLOCK), Character c (NOLOCK), ClanMember cm (NOLOCK)
13519 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID
13520
13521 IF @CLID IS NOT NULL
13522 BEGIN
13523 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13524 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13525 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13526 END
13527END
13528
13529
13530
13531
13532
13533GO
13534/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCID] Script Date: 28-05-2018 18:12:28 ******/
13535SET ANSI_NULLS ON
13536GO
13537SET QUOTED_IDENTIFIER ON
13538GO
13539
13540
13541
13542-- Myëží‚¹ì •보를 CID로 ê°€ì ¸ì˜´.
13543CREATE PROC [dbo].[spWebGetMyClanInfoByCID]
13544 @CID int /* ìºë¦í„° CID */
13545AS
13546SET NOCOUNT ON
13547BEGIN
13548 SELECT t.Name, t.Name AS Master, t.IntroDuction, t.RegDate, t.Homepage, t.EmblemUrl, t.Ranking
13549 FROM
13550 (
13551 SELECT cl.Name, cl.MasterCID, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13552 FROM ClanMember cm(NOLOCK), Clan cl(NOLOCK), Character ch(NOLOCK)
13553 WHERE cm.CID = @CID AND cl.CLID = cm.CLID AND ch.CID = @CID
13554 ) AS t, Character ch(NOLOCK)
13555 WHERE t.MasterCID = ch.CID
13556END
13557
13558
13559
13560
13561
13562GO
13563/****** Object: StoredProcedure [dbo].[spWebGetMyClanInfoByCLID] Script Date: 28-05-2018 18:12:28 ******/
13564SET ANSI_NULLS ON
13565GO
13566SET QUOTED_IDENTIFIER ON
13567GO
13568
13569
13570
13571CREATE PROC [dbo].[spWebGetMyClanInfoByCLID]
13572 @CLID int
13573AS
13574SET NOCOUNT ON
13575BEGIN
13576 SELECT cl.Name, ch.Name AS Master, cl.IntroDuction, cl.RegDate, cl.Homepage, cl.EmblemUrl, cl.Ranking
13577 FROM Clan cl(NOLOCK), Character ch(NOLOCK)
13578 WHERE cl.CLID = @CLID AND cl.DeleteFlag = 0 AND ch.CID = cl.MasterCID
13579END
13580
13581
13582
13583
13584
13585GO
13586/****** Object: StoredProcedure [dbo].[spWebGetMyClanList] Script Date: 28-05-2018 18:12:28 ******/
13587SET ANSI_NULLS ON
13588GO
13589SET QUOTED_IDENTIFIER ON
13590GO
13591
13592
13593
13594
13595-- 가입한 í´ëžœ 리스트를 Ranking으로 ì •ë ¬í•´ì„œ 보여줌. í´ëžœì´ 중복으로 ë³´ì¼ìˆ˜ 있ìŒ.
13596CREATE PROC [dbo].[spWebGetMyClanList]
13597 @UserID varchar(20) /* 넷마블 ì•„ì´ë”” */
13598AS
13599SET NOCOUNT ON
13600BEGIN
13601 SELECT t.Ranking, t.RankIncrease, t.ClanName, t.Point, t.Wins, t.Losses, t.CLID, t.EmblemUrl, ch.Name AS Master, t.RegDate
13602 FROM
13603 (
13604 SELECT cl.CLID, cl.Name AS ClanName, cl.Point, cl.Wins, cl.Losses, cl.EmblemUrl, cl.Ranking, cl.RankIncrease, cl.MasterCID, cl.RegDate
13605 FROM Account ac (NOLOCK), Character ch(NOLOCK), ClanMember cm(NOLOCK), Clan cl(NOLOCK)
13606 WHERE ac.UserID = @UserID AND ac.AID = ch.AID AND cm.CID = ch.CID AND cl.CLID = cm.CLID
13607 ) AS t, Character ch(NOLOCK)
13608 WHERE t.MasterCID = ch.CID ORDER BY t.Ranking DESC
13609END
13610
13611
13612
13613
13614
13615GO
13616/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13617SET ANSI_NULLS ON
13618GO
13619SET QUOTED_IDENTIFIER ON
13620GO
13621
13622CREATE PROC [dbo].[spWebInsertClanAdsBoard]
13623 @UserID varchar(20),
13624 @Subject varchar(50),
13625 @Content varchar(2000),
13626 @FileName varchar(128),
13627 @Link varchar(255),
13628 @HTML smallint
13629AS
13630 SET NOCOUNT ON
13631 DECLARE @NewThread int
13632 SELECT @NewThread = ISNULL(MAX(Thread), 0) + 1000 FROM ClanAdsBoard(NOLOCK)
13633
13634 BEGIN TRAN
13635 INSERT INTO ClanAdsboard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13636 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13637 IF 0 <> @@ERROR BEGIN
13638 ROLLBACK TRAN
13639 RETURN
13640 END
13641
13642 UPDATE ClanAdsBoard SET GR_ID = seq where GR_ID = 0
13643 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13644 ROLLBACK TRAN
13645 RETURN
13646 END
13647
13648 COMMIT TRAN
13649
13650
13651
13652
13653GO
13654/****** Object: StoredProcedure [dbo].[spWebInsertClanAdsComment] Script Date: 28-05-2018 18:12:28 ******/
13655SET ANSI_NULLS ON
13656GO
13657SET QUOTED_IDENTIFIER ON
13658GO
13659
13660
13661----------------------------------------------------------------------------
13662
13663-- 코멘트 게시물 등ë¡
13664CREATE PROC [dbo].[spWebInsertClanAdsComment]
13665 @Seq int,
13666 @Userid varchar(20),
13667 @Content varchar(500)
13668AS
13669 SET NOCOUNT ON
13670
13671 BEGIN TRAN
13672 INSERT INTO ClanAdsComment (Seq, UserID, Content, RegDate)
13673 VALUES(@Seq, @UserID, @Content, GetDate())
13674 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13675 ROLLBACK TRAN
13676 RETURN
13677 END
13678
13679 UPDATE ClanAdsBoard SET CommentCount = CommentCount + 1 WHERE Seq = @Seq
13680 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13681 ROLLBACK TRAN
13682 RETURN
13683 END
13684
13685 COMMIT TRAN
13686
13687
13688
13689
13690GO
13691/****** Object: StoredProcedure [dbo].[spWebInsertClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13692SET ANSI_NULLS ON
13693GO
13694SET QUOTED_IDENTIFIER ON
13695GO
13696
13697
13698--------------------------------------------------------------------------------------------------------
13699
13700/***************************************************************************/
13701/**** í´ëžœ ê²Œì‹œíŒ ê´€ë ¨ í”„ë¡œì‹œì ¸ ****/
13702/***************************************************************************/
13703
13704
13705-- 게시물 등ë¡
13706
13707CREATE PROC [dbo].[spWebInsertClanBoard]
13708 @CLID int,
13709 @UserID varchar(20),
13710 @Subject varchar(50),
13711 @Content varchar(4000),
13712 @FileName varchar(128),
13713 @Link varchar(255),
13714 @HTML smallint
13715AS
13716 SET NOCOUNT ON
13717 DECLARE @NewThread int
13718 SELECT @NewThread = ISNULL(MAX(Thread),0) + 1000 FROM ClanBoard(NOLOCK)
13719
13720 BEGIN TRAN
13721 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth,GR_Pos,Thread)
13722 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, 0,0,0,@NewThread)
13723 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13724 ROLLBACK TRAN
13725 RETURN
13726 END
13727
13728 UPDATE ClanBoard SET GR_ID = seq where GR_ID = 0
13729 IF( 0 <> @@ERROR) BEGIN
13730 ROLLBACK TRAN
13731 RETURN
13732 END
13733 COMMIT TRAN
13734
13735
13736
13737
13738GO
13739/****** Object: StoredProcedure [dbo].[spWebInsertClanBoardComment] Script Date: 28-05-2018 18:12:28 ******/
13740SET ANSI_NULLS ON
13741GO
13742SET QUOTED_IDENTIFIER ON
13743GO
13744
13745
13746--------------------------------------------------------------------------------------------------------
13747
13748-- 코멘트 게시물 등ë¡
13749
13750CREATE PROC [dbo].[spWebInsertClanBoardComment]
13751 @Seq int,
13752 @UserID varchar(20),
13753 @Content varchar(500)
13754AS
13755 SET NOCOUNT ON
13756 BEGIN TRAN
13757 INSERT INTO ClanBoardComment (Seq, UserID, Content, RegDate)
13758 VALUES(@Seq, @UserID, @Content, GetDate())
13759 IF (@@ERROR <> 0) BEGIN
13760 ROLLBACK TRAN
13761 RETURN
13762 END
13763
13764 Update ClanBoard Set CommentCount = CommentCount + 1 WHERE Seq = @Seq
13765 IF (0 <> @@ERROR) BEGIN
13766 ROLLBACK TRAN
13767 RETURN
13768 END
13769 COMMIT TRAN
13770
13771
13772
13773
13774GO
13775/****** Object: StoredProcedure [dbo].[spWebItemUseLog] Script Date: 28-05-2018 18:12:28 ******/
13776SET ANSI_NULLS ON
13777GO
13778SET QUOTED_IDENTIFIER ON
13779GO
13780
13781
13782
13783-- ìºì‰¬ì•„ì´í…œ 사용기ë¡
13784CREATE PROC [dbo].[spWebItemUseLog]
13785 @UserID VARCHAR(32)
13786AS
13787SET NOCOUNT ON
13788BEGIN
13789
13790 DECLARE @TargetAID INT
13791 SELECT @TargetAID = AID FROM Account(NOLOCK) WHERE UserID=@UserID
13792
13793 SELECT l.AID, l.CID, c.Name AS CharName, i.ItemID, i.Name AS ItemName, l.Date, c.DeleteName
13794 FROM BringAccountItemLog l(NOLOCK), Item i(NOLOCK), Character c(NOLOCK)
13795 WHERE l.AID=@TargetAID AND l.CID=c.CID AND l.ItemID=i.ItemID
13796 ORDER BY Date DESC
13797END
13798
13799
13800
13801
13802
13803
13804
13805GO
13806/****** Object: StoredProcedure [dbo].[spWebLeaveClan] Script Date: 28-05-2018 18:12:28 ******/
13807SET ANSI_NULLS ON
13808GO
13809SET QUOTED_IDENTIFIER ON
13810GO
13811
13812
13813
13814-- ìžì‹ ì˜ í´ëžœ 탈퇴.
13815CREATE PROC [dbo].[spWebLeaveClan]
13816 @CharName varchar(24) /* ìºë¦í„° ì´ë¦„ */
13817AS
13818BEGIN TRAN
13819 SET NOCOUNT ON
13820
13821 DECLARE @CLID int
13822 DECLARE @CID int
13823 DECLARE @MasterCID int
13824
13825 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13826 SELECT @CLID = cm.CLID, @CID = c.CID, @MasterCID = cl.MasterCID
13827 FROM Account a (NOLOCK), Character c (NOLOCK), Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13828 WHERE c.Name = @CharName AND a.AID = c.AID AND cm.CID = c.CID AND cl.CLID = cm.CLID
13829
13830 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13831 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13832 BEGIN
13833 ROLLBACK TRAN
13834 SET NOCOUNT OFF
13835 RETURN
13836 END
13837
13838 DELETE ClanMember WHERE CID = @CID
13839 IF 0 <> @@ERROR
13840 BEGIN
13841 ROLLBACK TRAN
13842 SET NOCOUNT OFF
13843 RETURN
13844 END
13845
13846 SET NOCOUNT OFF
13847COMMIT TRAN
13848
13849
13850
13851
13852
13853GO
13854/****** Object: StoredProcedure [dbo].[spWebLeaveClanByCID] Script Date: 28-05-2018 18:12:28 ******/
13855SET ANSI_NULLS ON
13856GO
13857SET QUOTED_IDENTIFIER ON
13858GO
13859
13860
13861
13862
13863-- CID로 í´ëžœ 탈퇴.
13864CREATE PROC [dbo].[spWebLeaveClanByCID]
13865 @CID int /* íƒˆí‡´ìš”ì² ìºë¦í„° CID */
13866AS
13867SET NOCOUNT ON
13868BEGIN TRAN
13869
13870
13871 DECLARE @CLID int
13872 DECLARE @MasterCID int
13873
13874 -- 존재하는 ì•„ì´ë””ì¸ê°€?
13875 SELECT @CLID = cm.CLID, @MasterCID = cl.MasterCID
13876 FROM Clan cl(NOLOCK), ClanMember cm (NOLOCK)
13877 WHERE cm.CID = @CID AND cl.CLID = cm.CLID
13878
13879 -- í´ëžœë§ˆìŠ¤í„°ê°€ ì•„ë‹ˆê³ í´ëžœì— ê°€ìž…ë˜ ìžˆì„ ê²½ìš°ë§Œ.
13880 IF (@CID IS NULL) OR (@MasterCID = @CID) OR (@CLID IS NULL)
13881 BEGIN
13882 ROLLBACK TRAN
13883 SELECT 0
13884 RETURN
13885 END
13886
13887 DELETE ClanMember WHERE CID = @CID
13888 IF 0 <> @@ERROR
13889 BEGIN
13890 ROLLBACK TRAN
13891 SELECT 0
13892 RETURN
13893 END
13894
13895 SELECT 1
13896COMMIT TRAN
13897SET NOCOUNT OFF
13898
13899
13900
13901
13902
13903GO
13904/****** Object: StoredProcedure [dbo].[spWebReplyClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
13905SET ANSI_NULLS ON
13906GO
13907SET QUOTED_IDENTIFIER ON
13908GO
13909
13910
13911----------------------------------------------------------------------------
13912
13913-- 게시물 답글
13914CREATE PROC [dbo].[spWebReplyClanAdsBoard]
13915 @Seq int,
13916 @UserID varchar(20),
13917 @Subject varchar(50),
13918 @Content varchar(2000),
13919 @FileName varchar(128),
13920 @Link varchar(255),
13921 @HTML smallint,
13922 @GR_ID int,
13923 @GR_Depth int,
13924 @GR_Pos int
13925AS
13926 SET NOCOUNT ON
13927 DECLARE @ParentThread int
13928 DECLARE @PrevThread int
13929
13930 SELECT @ParentThread = Thread FROM ClanAdsBoard(NOLOCK) WHERE Seq = @Seq
13931 SELECT @PrevThread = @ParentThread -1000 FROM ClanAdsBoard(NOLOCK) WHERE GR_ID =@GR_ID and GR_Depth = '0'
13932
13933 BEGIN TRAN
13934 UPDATE ClanAdsBoard
13935 SET Thread = Thread - 1
13936 WHERE Thread < @ParentThread and Thread > @PrevThread
13937 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13938 ROLLBACK TRAN
13939 RETURN
13940 END
13941
13942 UPDATE ClanAdsBoard SET GR_Pos =GR_Pos+1
13943 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
13944 IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
13945 ROLLBACK TRAN
13946 RETURN
13947 END
13948
13949 SET @GR_Depth = @GR_Depth+1;
13950 SET @GR_Pos = @GR_Pos + 1;
13951
13952 INSERT INTO ClanAdsBoard (UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
13953 VALUES (@UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
13954 IF (@@ERROR <> 0) BEGIN
13955 ROLLBACK TRAN
13956 RETURN
13957 END
13958
13959 COMMIT TRAN
13960
13961
13962
13963
13964GO
13965/****** Object: StoredProcedure [dbo].[spWebReplyClanBoard] Script Date: 28-05-2018 18:12:28 ******/
13966SET ANSI_NULLS ON
13967GO
13968SET QUOTED_IDENTIFIER ON
13969GO
13970
13971
13972--------------------------------------------------------------------------------------------------------
13973
13974-- 게시물 답글
13975
13976CREATE PROC [dbo].[spWebReplyClanBoard]
13977 @Seq int,
13978 @UserID varchar(20),
13979 @Subject varchar(50),
13980 @Content varchar(4000),
13981 @FileName varchar(128),
13982 @Link varchar(255),
13983 @HTML smallint,
13984 @GR_ID int,
13985 @GR_Depth int,
13986 @GR_Pos int
13987AS
13988 SET NOCOUNT ON
13989 DECLARE @CLID int
13990 DECLARE @ParentThread int
13991 DECLARE @PrevThread int
13992
13993 SELECT @CLID = CLID FROM ClanBoard(NOLOCK) Where Seq = @Seq
13994 SELECT @ParentThread = Thread FROM ClanBoard(NOLOCK) Where Seq = @Seq
13995 SELECT @PrevThread = @ParentThread -1000 FROM ClanBoard(NOLOCK) where GR_ID =@GR_ID and GR_Depth = '0'
13996
13997 BEGIN TRAN
13998 UPDATE ClanBoard
13999 SET Thread = Thread - 1
14000 Where Thread < @ParentThread and Thread > @PrevThread
14001 IF (@@ERROR <> 0) BEGIN
14002 ROLLBACK TRAN
14003 RETURN
14004 END
14005
14006 UPDATE ClanBoard SET GR_Pos =GR_Pos+1
14007 WHERE GR_ID = @GR_ID and GR_Pos = @GR_Pos
14008 IF (@@ERROR <> 0) BEGIN
14009 ROLLBACK TRAN
14010 RETURN
14011 END
14012
14013 SET @GR_Depth = @GR_Depth+1;
14014 SET @GR_Pos = @GR_Pos + 1;
14015
14016 INSERT INTO ClanBoard (CLID, UserID, Subject, Content, Regdate, ReadCount, FileName, Link, HTML, GR_ID, GR_Depth, GR_Pos, Thread)
14017 VALUES (@CLID, @UserID, @Subject, @Content, GetDate(), 0, @FileName, @Link, @HTML, @GR_ID, @GR_Depth, @GR_Pos, @ParentThread-1)
14018 IF (@@ERROR <> 0) BEGIN
14019 ROLLBACK TRAN
14020 RETURN
14021 END
14022 COMMIT TRAN
14023
14024
14025
14026
14027GO
14028/****** Object: StoredProcedure [dbo].[spWebResetChar] Script Date: 28-05-2018 18:12:28 ******/
14029SET ANSI_NULLS ON
14030GO
14031SET QUOTED_IDENTIFIER ON
14032GO
14033
14034
14035-- ìºë¦í„° 초기화
14036CREATE PROC [dbo].[spWebResetChar]
14037 @CID INT
14038AS
14039SET NOCOUNT ON
14040
14041BEGIN
14042 -- 스탯 초기화
14043 UPDATE Character SET Level=1, XP=0, BP=0,
14044
14045 head_slot=NULL, chest_slot=NULL, hands_slot=NULL, legs_slot=NULL, feet_slot=NULL,
14046 fingerl_slot=NULL, fingerr_slot=NULL, melee_slot=NULL, primary_slot=NULL, secondary_slot=NULL,
14047 custom1_slot=NULL, custom2_slot=NULL,
14048 GameCount=0, KillCount=0, DeathCount=0,
14049 head_itemid=NULL, chest_itemid=NULL, hands_itemid=NULL, legs_itemid=NULL, feet_itemid=NULL,
14050 fingerl_itemid=NULL, fingerr_itemid=NULL, melee_itemid=NULL, primary_itemid=NULL, secondary_itemid=NULL,
14051 custom1_itemid=NULL, custom2_itemid=NULL, QuestItemInfo=NULL
14052
14053 WHERE CID=@CID
14054
14055 -- ì•„ì´í…œ ì‚ì œ(ìƒìš© ì•„ì´í…œì€ ì œì™¸)
14056 UPDATE CharacterItem SET CID=NULL WHERE CID=@CID AND ItemID < 500000
14057
14058END
14059
14060
14061
14062
14063
14064GO
14065/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14066SET ANSI_NULLS ON
14067GO
14068SET QUOTED_IDENTIFIER ON
14069GO
14070
14071
14072----------------------------------------------------------------------------
14073
14074-- 게시물 검색 by Subject
14075CREATE PROC [dbo].[spWebSearchClanAdsBoardbySubject]
14076 @Subject varchar(30)
14077AS
14078 SET NOCOUNT ON
14079 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14080 FROM ClanAdsBoard(NOLOCK)
14081 WHERE Subject like @Subject
14082 ORDER BY Thread DESC
14083
14084
14085
14086
14087GO
14088/****** Object: StoredProcedure [dbo].[spWebSearchClanAdsBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14089SET ANSI_NULLS ON
14090GO
14091SET QUOTED_IDENTIFIER ON
14092GO
14093
14094
14095----------------------------------------------------------------------------
14096
14097CREATE PROC [dbo].[spWebSearchClanAdsBoardbyUserID]
14098 @UserID varchar(20)
14099AS
14100 SET NOCOUNT ON
14101 SELECT Seq, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14102 FROM ClanAdsBoard (NOLOCK)
14103 WHERE UserID = @UserID
14104 ORDER BY Thread DESC
14105
14106
14107
14108
14109GO
14110/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbySubject] Script Date: 28-05-2018 18:12:28 ******/
14111SET ANSI_NULLS ON
14112GO
14113SET QUOTED_IDENTIFIER ON
14114GO
14115
14116
14117--------------------------------------------------------------------------------------------------------
14118
14119-- 게시물 검색 by Subject
14120
14121CREATE PROC [dbo].[spWebSearchClanBoardbySubject]
14122 @CLID int
14123, @Subject varchar(30)
14124AS
14125 SET NOCOUNT ON
14126 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14127 FROM ClanBoard(NOLOCK)
14128 WHERE CLID = @CLID and Subject like @Subject
14129 ORDER BY Thread DESC
14130
14131
14132
14133
14134GO
14135/****** Object: StoredProcedure [dbo].[spWebSearchClanBoardbyUserID] Script Date: 28-05-2018 18:12:28 ******/
14136SET ANSI_NULLS ON
14137GO
14138SET QUOTED_IDENTIFIER ON
14139GO
14140
14141
14142--------------------------------------------------------------------------------------------------------
14143
14144-- 게시물 검색 by UserID
14145
14146CREATE PROC [dbo].[spWebSearchClanBoardbyUserID]
14147 @CLID int
14148, @UserID varchar(20)
14149AS
14150 SET NOCOUNT ON
14151 SELECT Seq, CLID, Userid, Subject, RegDate, ReadCount, Recommend, CommentCount
14152 FROM ClanBoard(NOLOCK)
14153 WHERE CLID = @CLID and UserID = @UserID
14154 ORDER BY Thread DESC
14155
14156
14157
14158
14159GO
14160/****** Object: StoredProcedure [dbo].[spWebSearchClanMemberByCharName] Script Date: 28-05-2018 18:12:28 ******/
14161SET ANSI_NULLS ON
14162GO
14163SET QUOTED_IDENTIFIER ON
14164GO
14165
14166
14167---------------------------------------------------------------------------
14168
14169CREATE PROC [dbo].[spWebSearchClanMemberByCharName]
14170 @CLID int
14171, @CharName varchar(20)
14172AS
14173 SET NOCOUNT ON
14174 SELECT cm.CLID, cm.Grade, c.Name, c.Level, c.XP, cm.RegDate
14175 FROM ClanMember cm(NOLOCK) JOIN Character c(NOLOCK)
14176 ON cm.CLID = @CLID AND c.CID = cm.CID AND c.Name = @CharName
14177 ORDER BY cm.RegDate DESC
14178
14179
14180
14181
14182GO
14183/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByName] Script Date: 28-05-2018 18:12:28 ******/
14184SET ANSI_NULLS ON
14185GO
14186SET QUOTED_IDENTIFIER ON
14187GO
14188
14189
14190/* ìºë¦í„° ì´ë¦„으로 순위 검색 */
14191CREATE PROC [dbo].[spWebSearchTotalRankingByName]
14192 @Name varchar(24)
14193AS
14194SET NOCOUNT ON
14195BEGIN
14196 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14197 FROM TotalRanking(NOLOCK)
14198 WHERE Name = @Name
14199END
14200
14201
14202
14203
14204
14205
14206GO
14207/****** Object: StoredProcedure [dbo].[spWebSearchTotalRankingByNetmarbleID] Script Date: 28-05-2018 18:12:28 ******/
14208SET ANSI_NULLS ON
14209GO
14210SET QUOTED_IDENTIFIER ON
14211GO
14212
14213
14214
14215-- ìžì‹ ì˜ ëží‚¹ ì •ë³´.
14216CREATE PROC [dbo].[spWebSearchTotalRankingByNetmarbleID]
14217 @UserID varchar(20)
14218AS
14219SET NOCOUNT ON
14220BEGIN
14221 SELECT Rank, Level, Name, XP, KillCount, DeathCount, UserID
14222 FROM TotalRanking (NOLOCK)
14223 WHERE UserID = @UserID
14224END
14225
14226
14227
14228
14229
14230GO
14231/****** Object: StoredProcedure [dbo].[spWebUndeleteChar] Script Date: 28-05-2018 18:12:28 ******/
14232SET ANSI_NULLS ON
14233GO
14234SET QUOTED_IDENTIFIER ON
14235GO
14236
14237
14238
14239CREATE PROC [dbo].[spWebUndeleteChar]
14240 @CID INT
14241AS
14242SET NOCOUNT ON
14243BEGIN
14244 DECLARE @AID INT
14245 DECLARE @Name VARCHAR(64)
14246 SELECT @Name = DeleteName, @AID=AID FROM Character(NOLOCK) WHERE CID=@CID
14247
14248 IF @AID IS NULL
14249 BEGIN
14250 SELECT 'It is not exist character.' AS ERROR, @CID AS CID
14251 GOTO label_finish
14252 END
14253
14254 --SELECT @Name AS Name
14255 IF @Name IS NULL
14256 BEGIN
14257 SELECT 'already exist character' AS ERROR, @CID AS CID
14258 GOTO label_finish
14259 END
14260
14261 -- find empty slot.
14262 DECLARE @CharNum INT
14263 SELECT @CharNum=a.CharNum FROM
14264 (
14265 SELECT 0 AS CharNum UNION
14266 SELECT 1 AS CharNum UNION
14267 SELECT 2 AS CharNum UNION
14268 SELECT 3 AS CharNum
14269 ) a WHERE NOT EXISTS
14270 (
14271 SELECT CharNum FROM Character(NOLOCK)
14272 WHERE AID=@AID AND DeleteFlag=0 AND CharNum=a.CharNum
14273 )
14274 IF @CharNum IS NULL
14275 BEGIN
14276 SELECT 'no more empty slot' AS ERROR, @CID AS CID
14277 GOTO label_finish
14278 END
14279
14280 DECLARE @ExistName VARCHAR(64)
14281 SELECT @ExistName = Name FROM Character(NOLOCK) WHERE AID=@AID AND CharNum=@CharNum
14282 IF @ExistName IS NOT NULL
14283 BEGIN
14284 SELECT 'already exist slot.' AS ERROR, @CID AS CID
14285 GOTO label_finish
14286 END
14287
14288 DECLARE @Count int
14289 SELECT @Count=COUNT(*) FROM Character(NOLOCK) WHERE Name=@Name
14290
14291 --SELECT @Name AS UndeleteTarget
14292
14293 IF ( @Count <= 0 )
14294 BEGIN
14295 Update Character Set Name=@Name WHERE CID=@CID
14296 Update Character Set CharNum=@CharNum WHERE CID=@CID
14297 Update Character Set DeleteFlag=0 WHERE CID=@CID
14298 Update Character Set DeleteName=NULL WHERE CID=@CID
14299
14300 SELECT 'completed restore' AS ERROR, @Name AS 'Name'
14301 END
14302 ELSE
14303 BEGIN
14304 SELECT 'already exist name' AS ERROR, @Name AS 'Name', @Count AS 'Count'
14305 END
14306
14307label_finish:
14308END
14309
14310
14311
14312
14313
14314
14315GO
14316/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoard] Script Date: 28-05-2018 18:12:28 ******/
14317SET ANSI_NULLS ON
14318GO
14319SET QUOTED_IDENTIFIER ON
14320GO
14321
14322
14323----------------------------------------------------------------------------
14324
14325-- 게시물 ìˆ˜ì •
14326CREATE PROC [dbo].[spWebUpdateClanAdsBoard]
14327 @Seq int,
14328 @Subject varchar(50),
14329 @Content varchar(2000),
14330 @FileName varchar(128),
14331 @Link varchar(255),
14332 @HTML smallint
14333AS
14334 SET NOCOUNT ON
14335 UPDATE ClanAdsBoard
14336 SET Subject= @Subject, Content=@Content, FileName=@FileName, Link=@Link, HTML=@HTML
14337 WHERE Seq = @Seq
14338
14339
14340
14341
14342GO
14343/****** Object: StoredProcedure [dbo].[spWebUpdateClanAdsBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14344SET ANSI_NULLS ON
14345GO
14346SET QUOTED_IDENTIFIER ON
14347GO
14348
14349
14350----------------------------------------------------------------------------
14351
14352CREATE PROC [dbo].[spWebUpdateClanAdsBoardReadCount]
14353 @Seq int
14354AS
14355 SET NOCOUNT ON
14356 UPDATE ClanAdsBoard SET ReadCount = ReadCount + 1 WHERE Seq = @Seq
14357
14358
14359
14360
14361GO
14362/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoard] Script Date: 28-05-2018 18:12:28 ******/
14363SET ANSI_NULLS ON
14364GO
14365SET QUOTED_IDENTIFIER ON
14366GO
14367
14368
14369--------------------------------------------------------------------------------------------------------
14370
14371
14372-- 게시물 ìˆ˜ì •
14373
14374CREATE PROC [dbo].[spWebUpdateClanBoard]
14375 @Seq int,
14376 @Subject varchar(50),
14377 @Content varchar(4000),
14378 @FileName varchar(128),
14379 @Link varchar(255),
14380 @HTML smallint
14381AS
14382 SET NOCOUNT ON
14383 UPDATE ClanBoard
14384 SET Subject= @Subject, Content=@Content,
14385 FileName=@FileName, Link=@Link, HTML=@HTML
14386 WHERE Seq = @Seq
14387
14388
14389
14390
14391GO
14392/****** Object: StoredProcedure [dbo].[spWebUpdateClanBoardReadCount] Script Date: 28-05-2018 18:12:28 ******/
14393SET ANSI_NULLS ON
14394GO
14395SET QUOTED_IDENTIFIER ON
14396GO
14397
14398
14399--------------------------------------------------------------------------------------------------------
14400
14401-- 조회수 ì¦ê°€
14402
14403CREATE PROC [dbo].[spWebUpdateClanBoardReadCount]
14404 @Seq int
14405AS
14406 SET NOCOUNT ON
14407 Update ClanBoard Set ReadCount = ReadCount + 1 WHERE Seq = @Seq
14408
14409
14410
14411
14412GO
14413/****** Object: StoredProcedure [dbo].[spWinTheClanGame] Script Date: 28-05-2018 18:12:28 ******/
14414SET ANSI_NULLS ON
14415GO
14416SET QUOTED_IDENTIFIER ON
14417GO
14418
14419-- í´ëžœì „ ê²°ê³¼ ì—…ë°ì´íЏ
14420CREATE PROC [dbo].[spWinTheClanGame]
14421 @WinnerCLID int,
14422 @LoserCLID int,
14423 @IsDrawGame tinyint,
14424 @WinnerPoint int,
14425 @LoserPoint int,
14426 @WinnerClanName varchar(24),
14427 @LoserClanName varchar(24),
14428 @RoundWins tinyint,
14429 @RoundLosses tinyint,
14430 @MapID tinyint,
14431 @GameType tinyint,
14432 @WinnerMembers varchar(110),
14433 @LoserMembers varchar(110)
14434AS
14435 SET NOCOUNT ON -- 추가.
14436
14437 IF @IsDrawGame = 0
14438 BEGIN
14439 BEGIN TRAN
14440 -- ì´ê¸´íŒ€ Wins+1
14441 UPDATE Clan SET Wins=Wins+1, Point=Point+@WinnerPoint, TotalPoint=TotalPoint+@WinnerPoint WHERE CLID=@WinnerCLID
14442 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14443 ROLLBACK TRAN
14444 RETURN
14445 END
14446
14447 -- 진팀 Losses+1
14448 UPDATE Clan SET Losses=Losses+1, Point= game.fnGetMax(0, Point+(@LoserPoint)) WHERE CLID=@LoserCLID
14449 IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.
14450 ROLLBACK TRAN
14451 RETURN
14452 END
14453-- UPDATE Clan SET Point=0 WHERE CLID=@LoserCLID AND Point<0
14454
14455 -- ì „ì 로그를 남긴다.
14456 INSERT INTO ClanGameLog(WinnerCLID, LoserCLID, WinnerClanName, LoserClanName, RoundWins, RoundLosses, MapID, GameType, RegDate, WinnerMembers, LoserMembers, WinnerPoint, LoserPoint)
14457 VALUES (@WinnerCLID, @LoserCLID, @WinnerClanName, @LoserClanName, @RoundWins, @RoundLosses, @MapID, @GameType, GETDATE(), @WinnerMembers, @LoserMembers, @WinnerPoint, @LoserPoint)
14458 IF 0 <> @@ERROR BEGIN -- 여기 추가.
14459 ROLLBACK TRAN
14460 RETURN
14461 END
14462 COMMIT TRAN
14463 END
14464 ELSE
14465 BEGIN
14466 UPDATE Clan SET Draws=Draws+1 WHERE CLID=@WinnerCLID OR CLID=@LoserCLID
14467 END
14468
14469
14470
14471
14472
14473
14474GO
14475/****** Object: StoredProcedure [dbo].[USP_sjr_TableSizeIncr] Script Date: 28-05-2018 18:12:28 ******/
14476SET ANSI_NULLS ON
14477GO
14478SET QUOTED_IDENTIFIER ON
14479GO
14480
14481
14482create proc [dbo].[USP_sjr_TableSizeIncr]
14483
14484as
14485begin
14486 SET NOCOUNT ON
14487
14488 select identity(int,1,1) idx ,' insert sjr_TableSizeIncr (name,rows,reserved,date,index_size,unused) ' +char(10)+
14489 'exec sp_spaceused '+name as sql into #spaceusedTb
14490 from TestDB.dbo.sysobjects where xtype = 'U'
14491
14492
14493 DECLARE @sql varchar(400)
14494 DECLARE SQL_cursor CURSOR FOR
14495 SELECT sql
14496 FROM #spaceusedTb
14497 ORDER BY idx
14498 OPEN SQL_cursor
14499 FETCH NEXT FROM SQL_cursor
14500 INTO @sql
14501 WHILE @@FETCH_STATUS = 0
14502 BEGIN
14503 exec (@sql)
14504 FETCH NEXT FROM SQL_cursor
14505 INTO @sql
14506 END
14507 CLOSE SQL_cursor
14508 DEALLOCATE SQL_cursor
14509
14510end
14511
14512
14513
14514
14515
14516
14517
14518
14519GO
14520USE [master]
14521GO
14522ALTER DATABASE [TestDB] SET READ_WRITE
14523GO