· 8 years ago · Jan 29, 2018, 10:34 AM
1SET ANSI_NULLS ON
2GO
3SET QUOTED_IDENTIFIER ON
4GO
5
6IF EXISTS(SELECT name FROM sysobjects WHERE name = N'olympiad_match_count' AND xtype='U')
7 DROP TABLE [dbo].[olympiad_match_count]
8GO
9
10CREATE TABLE [dbo].[olympiad_match_count] (
11 [char_id] [int] NOT NULL,
12 [match_count1] [int] NOT NULL,
13 [match_count2] [int] NOT NULL,
14 [match_count3] [int] NOT NULL,
15 CONSTRAINT [PK_olympiad_match_count] PRIMARY KEY CLUSTERED
16 (
17 [char_id] ASC
18 ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
19) ON [PRIMARY]
20GO
21
22IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lin_SaveOlympiadMatchCount]') AND type in (N'P', N'PC'))
23 DROP PROCEDURE [dbo].[lin_SaveOlympiadMatchCount]
24GO
25
26CREATE PROCEDURE [dbo].[lin_SaveOlympiadMatchCount]
27(
28@char_id INT,
29@match_count1 INT,
30@match_count2 INT,
31@match_count3 INT
32)
33AS
34SET NOCOUNT ON
35UPDATE olympiad_match_count
36 SET match_count1 = @match_count1, match_count2 = @match_count2, match_count3 = @match_count3
37WHERE char_id = @char_id
38
39if @@rowcount = 0
40BEGIN
41 INSERT INTO olympiad_match_count
42 (char_id, match_count1, match_count2, match_count3)
43 VALUES
44 (@char_id, @match_count1, @match_count2, @match_count3)
45END
46GO
47
48
49IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lin_GetAllNobless]') AND type in (N'P', N'PC'))
50 DROP PROCEDURE [dbo].[lin_GetAllNobless]
51GO
52
53CREATE PROCEDURE [dbo].[lin_GetAllNobless]
54AS
55SELECT un.char_id, un.nobless_type, un.hero_type, un.win_count, un.previous_point, un.olympiad_point, un.match_count, un.olympiad_win_count, un.olympiad_lose_count, un.trade_point,IsNull(omc.match_count1,0),IsNull(omc.match_count2,0),IsNull(omc.match_count3,0)
56 FROM user_nobless AS un
57 LEFT OUTER JOIN olympiad_match_count AS omc ON un.char_id = omc.char_id
58GO
59
60
61IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lin_GetNoblessById]') AND type in (N'P', N'PC'))
62 DROP PROCEDURE [dbo].[lin_GetNoblessById]
63GO
64
65CREATE PROCEDURE [dbo].[lin_GetNoblessById]
66(
67@char_id INT
68)
69AS
70SELECT un.nobless_type, un.hero_type, un.win_count, un.previous_point, un.olympiad_point, un.match_count, un.olympiad_win_count, un.olympiad_lose_count, un.history_open, un.trade_point, IsNull(omc.match_count1,0),IsNull(omc.match_count2,0),IsNull(omc.match_count3,0)
71FROM user_nobless AS un
72LEFT OUTER JOIN olympiad_match_count AS omc ON un.char_id = omc.char_id
73WHERE un.char_id = @char_id
74GO
75
76IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lin_ClearOlympiadMatchCount]') AND type in (N'P', N'PC'))
77 DROP PROCEDURE [dbo].[lin_ClearOlympiadMatchCount]
78GO
79
80CREATE PROCEDURE [dbo].[lin_ClearOlympiadMatchCount]
81AS
82UPDATE olympiad_match_count SET match_count1 = 0, match_count2 = 0, match_count3 = 0
83GO