LosaDev source snapshot 2019

This commit is contained in:
LosaDev committed 2026-11-07 13:30:45 +07:00
commit c198676e97
20588 files changed
+8812878

No files matched your search

@@ -0,0 +1,66 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_game_get_data] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_game_get_data]
GO
/****** Object: StoredProcedure [dbo].[game_game_get_data] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_game_get_data]
(
@userID varchar(12)
)
As
SET NOCOUNT ON
DECLARE @CURRENTDATE DATETIME
DECLARE @CONNECTDATE DATETIME
SET @CURRENTDATE = GETDATE();
SET @CONNECTDATE = ( SELECT conndate FROM dbo.userGameDB WHERE accountIDX IN ( SELECT accountIDX FROM dbo.userMemberDB WHERE userID = @userID ))
BEGIN
IF( @CURRENTDATE < @CONNECTDATE )
SET @CONNECTDATE = @CURRENTDATE
END
SELECT a.accountIDX, b.userID, b.nickName, a.userState, a.gameMoney
, a.conn_count, @CONNECTDATE, a.userLevel, a.userEXP--, a.relateLevel
, b.eventType, isNull(c.class,0) as 'class', b.joinType, b.regDate, a.regionType
, a.rencpoint, a.renspoint, isNull(c.region,0) as 'region', b.cpType, ISNULL(d.cpID, '') AS 'cpID'
, ISNULL(d.note, '') AS 'cpUNIQ', b.limitType, b.limitDate, a.userFishingLevel, a.userFishingEXP
, a.refillData, a.userExcavationLevel, a.userExcavationEXP, a.userHerocEXP, a.userHerosEXP, a.practice
FROM userGameDB a WITH( NOLOCK )
JOIN userMemberDB b WITH( NOLOCK )
ON a.accountIDX = b.accountIDX
LEFT JOIN userRankingDB c WITH( NOLOCK )
ON a.accountIDX = c.accountIDX
LEFT JOIN userCooperationDB d WITH( NOLOCK )
ON a.accountIDX=d.accountIDX WHERE b.userID = @userID
+123
View File
@@ -0,0 +1,123 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_game_save] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_game_save]
GO
/****** Object: StoredProcedure [dbo].[game_game_save] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_game_save]
(
@accountIDX int
, @userState int
, @gameMoney bigint
, @conn_count int
, @connDate datetime
, @userLevel int
, @userEXP int
, @playTime int
, @regionType int
, @userFishingLevel int
, @userFishingEXP int
, @refillData int
, @userExcavationLevel int
, @userExcavationEXP int
, @init_time int
)
As
SET NOCOUNT ON
IF @userLevel < 50
BEGIN
-- 기존 루틴 그대로
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
END
ELSE
BEGIN
--
IF( EXISTS( SELECT * FROM dbo.userRelativeLevelDB WITH( NOLOCK )
WHERE accountIDX = @accountIDX ) )
BEGIN
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
--, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
UPDATE dbo.userRelativeLevelDB
SET init_time = @init_time
WHERE accountIDX = @accountIDX
END
ELSE
BEGIN
-- 기존 루틴 그대로 : 혹시나 ?
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
END
END
@@ -0,0 +1,46 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_BlockList] Script Date: 01/11/2018 11:59:29 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_BlockList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_BlockList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_BlockList] Script Date: 01/11/2018 11:59:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_BlockList','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_BlockList
--
--GO
-- =============================================
-- Subject : dbo.game_practice_BlockList
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_BlockList]
@KickID varchar(20)
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT accountIDX FROM LosaGame.dbo.userMemberDB WHERE limitType = 100 AND limitDate > Getdate() - 3 AND userID = @KickID
GO
@@ -0,0 +1,68 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_Init_count] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_practice_Init_count]
GO
/****** Object: StoredProcedure [dbo].[game_practice_Init_count] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_practice_Init_count]
@ACCOUNT_IDX INT,
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_COUNT INT -- 수련장 입장횟수
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT COUNT(*) FROM dbo.userPracticeDB WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX
IF(@@ROWCOUNT = 0)
BEGIN
SELECT -1;
RETURN ;
END
BEGIN TRAN
UPDATE dbo.userPracticeDB
SET PracticeCount = @PRACTICE_COUNT
WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT 1;
RETURN;
GO
@@ -0,0 +1,53 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_list] Script Date: 11/18/2017 17:09:36 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_get_list]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_get_list]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_list] Script Date: 11/18/2017 17:09:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : ÈÆ·ÃÇϱ⠵¥ÀÌÅÍ
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_get_list]
@topn INT,
@ACCOUNT_IDX INT,
@PRACTICE_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT TOP (@topn) practiceIDX, UPD.AccountIDX, UMD.NickName, PracticeTime, UpdateDate
FROM dbo.userPracticeDB AS UPD WITH (READUNCOMMITTED)
JOIN dbo.userMemberDB AS UMD on UPD.AccountIDX = UMD.accountIDX
WHERE UPD.AccountIDX <= @ACCOUNT_IDX AND UMD.limitDate < GETDATE()
ORDER by UPD.AccountIDX DESC
GO
@@ -0,0 +1,44 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_Ranking_list] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_practice_get_my_Ranking_list]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_Ranking_list] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_practice_get_my_Ranking_list]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT StartDate, EndDate, PracticeIDX, PracticeRank, PresentType1, Code1, Value1, PresentType2, Code2, Value2, PresentType3, Code3, Value3, PresentType4, Code4, Value4, PresentType5, Code5, Value5
FROM dbo.userPracticeDB_Ranking AS UPR WITH (READUNCOMMITTED)
INNER JOIN dbo.userPracticeDB_Present AS UPP ON UPR.value = UPP.PresentValue
WHERE AccountIDX = @ACCOUNT_IDX
@@ -0,0 +1,50 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_list] Script Date: 2017-12-07 오후 6:59:20 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_get_my_list]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_get_my_list]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_list] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_my_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_my_list
--
--GO
-- =============================================
-- Subject dbo.game_practice_get_my_list
-- DBA
-- DATE 2014-03-03
-- Description 훈련하기 데이터
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_get_my_list]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT practiceIDX, PracticeGrade, PracticeCount, PracticeTime, PracticeRank
FROM dbo.userPracticeDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX
GO
@@ -0,0 +1,110 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_Reward_Cursor] Script Date: 11/23/2017 12:48:42 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_rank_Reward_Cursor]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_rank_Reward_Cursor]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_Reward_Cursor] Script Date: 11/23/2017 12:48:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_rank_Reward_Cursor','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_rank_Reward_Cursor
--
--GO
-- =============================================
-- Subject : dbo.game_practice_rank_Reward_Cursor
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_rank_Reward_Cursor]
@RankAStart Int, @RankAEnd Int, @RankAType Int, @RankACode Int, @RankAMent Int, @RankAPeriad Int,
@RankBStart Int, @RankBEnd Int, @RankBType Int, @RankBCode Int, @RankBMent Int, @RankBPeriad Int,
@RankCStart Int, @RankCEnd Int, @RankCType Int, @RankCCode Int, @RankCMent Int, @RankCPeriad Int,
@RankDStart Int, @RankDEnd Int, @RankDType Int, @RankDCode Int, @RankDMent Int, @RankDPeriad Int,
@RankDID varchar(20)
AS
BEGIN
/*
SET @RankAStart Int = 1, @RankAEnd Int = 2, @RankAType Int = 3, @RankACode Int = 1000039, @RankAMent Int = 1128, @RankAPeriad Int = 28
SET @RankBStart Int = 3, @RankBEnd Int = 5, @RankBType Int = 3, @RankBCode Int = 1000039, @RankBMent Int = 1128, @RankBPeriad Int = 28
SET @RankCStart Int = 6, @RankCEnd Int = 10, @RankCType Int = 3, @RankCCode Int = 1000039, @RankCMent Int = 1128, @RankCPeriad Int = 28
SET @RankDStart Int = 11, @RankDEnd Int =999999999, @RankDType Int = 3, @RankDCode Int = 1000039, @RankDMent Int = 1128, @RankDPeriad Int = 28
SET @RankDID varchar(20) = 'DeveloperK'
*/
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName=@RankDID
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
DECLARE @AccountIDX INT = 0, @Ranking INT = 0
DECLARE RankingRewardCursor CURSOR FAST_FORWARD FOR
SELECT [AccountIDX], RANK()over(PARTITION BY PracticeIDX ORDER BY PracticeTime, UpdateDate) AS PracticeRank
FROM [LosaGame].[dbo].[userPracticeDB]
OPEN RankingRewardCursor
FETCH NEXT FROM RankingRewardCursor
INTO @AccountIDX, @Ranking
WHILE @@FETCH_STATUS = 0
BEGIN
IF @RankAStart <= @Ranking AND @Ranking <= @RankAEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankAType, @RankACode, 1, 0, 0, @RankAMent, GetDate() + @RankAPeriad, 0, 0
SELECT 1111, @sendIDX, @AccountIDX, @RankAType, @RankACode, 1, 0, 0, @RankAMent, GetDate() + @RankAPeriad, 0, 0
END
ELSE IF @RankBStart <= @Ranking AND @Ranking <= @RankBEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankBType, @RankBCode, 1, 0, 0, @RankBMent, GetDate() + @RankBPeriad, 0, 0
SELECT 2222, @sendIDX, @AccountIDX, @RankBType, @RankBCode, 1, 0, 0, @RankBMent, GetDate() + @RankBPeriad, 0, 0
END
ELSE IF @RankCStart <= @Ranking AND @Ranking <= @RankCEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankCType, @RankCCode, 1, 0, 0, @RankCMent, GetDate() + @RankCPeriad, 0, 0
SELECT 3333, @sendIDX, @AccountIDX, @RankCType, @RankCCode, 1, 0, 0, @RankCMent, GetDate() + @RankCPeriad, 0, 0
END
ELSE IF @RankDStart <= @Ranking AND @Ranking <= @RankDEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankDType, @RankDCode, 1, 0, 0, @RankDMent, GetDate() + @RankDPeriad, 0, 0
SELECT 4444, @sendIDX, @AccountIDX, @RankDType, @RankDCode, 1, 0, 0, @RankDMent, GetDate() + @RankDPeriad, 0, 0
END
FETCH NEXT FROM RankingRewardCursor INTO @AccountIDX, @Ranking
END
CLOSE RankingRewardCursor
DEALLOCATE RankingRewardCursor
GO
--if OBJECT_ID('userPracticeDB_Backup') is not null
--DROP TABLE [LosaGame].[dbo].[userPracticeDB_Backup]
--SELECT * INTO [LosaGame].[dbo].[userPracticeDB_Backup]
--FROM [LosaGame].[dbo].[userPracticeDB]
--TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB]
END
@@ -0,0 +1,197 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_reward] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_rank_reward]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_rank_reward]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_reward] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_rank_reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_rank_reward
--
--GO
-- =============================================
-- Subject : dbo.game_practice_rank_reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_rank_reward]
@RankAStart Int, @RankAEnd Int, @RankAMent Int, @RankAPeriad Int,
@RankAType01 Int, @RankACode01 Int, @RankACount01 Int,
@RankAType02 Int, @RankACode02 Int, @RankACount02 Int,
@RankAType03 Int, @RankACode03 Int, @RankACount03 Int,
@RankAType04 Int, @RankACode04 Int, @RankACount04 Int,
@RankAType05 Int, @RankACode05 Int, @RankACount05 Int,
@RankBStart Int, @RankBEnd Int, @RankBMent Int, @RankBPeriad Int,
@RankBType01 Int, @RankBCode01 Int, @RankBCount01 Int,
@RankBType02 Int, @RankBCode02 Int, @RankBCount02 Int,
@RankBType03 Int, @RankBCode03 Int, @RankBCount03 Int,
@RankBType04 Int, @RankBCode04 Int, @RankBCount04 Int,
@RankBType05 Int, @RankBCode05 Int, @RankBCount05 Int,
@RankCStart Int, @RankCEnd Int, @RankCMent Int, @RankCPeriad Int,
@RankCType01 Int, @RankCCode01 Int, @RankCCount01 Int,
@RankCType02 Int, @RankCCode02 Int, @RankCCount02 Int,
@RankCType03 Int, @RankCCode03 Int, @RankCCount03 Int,
@RankCType04 Int, @RankCCode04 Int, @RankCCount04 Int,
@RankCType05 Int, @RankCCode05 Int, @RankCCount05 Int,
@RankDStart Int, @RankDEnd Int, @RankDMent Int, @RankDPeriad Int,
@RankDType01 Int, @RankDCode01 Int, @RankDCount01 Int,
@RankDType02 Int, @RankDCode02 Int, @RankDCount02 Int,
@RankDType03 Int, @RankDCode03 Int, @RankDCount03 Int,
@RankDType04 Int, @RankDCode04 Int, @RankDCount04 Int,
@RankDType05 Int, @RankDCode05 Int, @RankDCount05 Int,
@RankDID varchar(20)
AS
BEGIN
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName=@RankDID
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
BEGIN TRAN
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB_Ranking]
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB_Present]
Declare @CurrentDate DateTime
declare @StartDate NVARCHAR(10), @EndDate NVARCHAR(10), @TableDate NVARCHAR(10)
SET @CurrentDate = GetDate()
SET @StartDate = CONVERT(NVARCHAR(10), @CurrentDate - 7, 23)
SET @EndDate = CONVERT(NVARCHAR(10), @CurrentDate, 23)
SET @TableDate = CONVERT(NVARCHAR(10), @CurrentDate , 112)
INSERT INTO [LosaGame].[dbo].[userPracticeDB_Present]
(
PresentValue, PresentType1, Code1 , Value1, PresentType2, Code2 , Value2, PresentType3, Code3 , Value3, PresentType4, Code4 , Value4, PresentType5, Code5 , Value5
)
VALUES
( 1, @RankAType01, @RankACode01, @RankACount01, @RankAType02, @RankACode02, @RankACount02, @RankAType03, @RankACode03, @RankACount03, @RankAType04, @RankACode04, @RankACount04, @RankAType05, @RankACode05, @RankACount05 ),
( 2, @RankBType01, @RankBCode01, @RankBCount01, @RankBType02, @RankBCode02, @RankBCount02, @RankBType03, @RankBCode03, @RankBCount03, @RankBType04, @RankBCode04, @RankBCount04, @RankBType05, @RankBCode05, @RankBCount05 ),
( 3, @RankCType01, @RankCCode01, @RankCCount01, @RankCType02, @RankCCode02, @RankCCount02, @RankCType03, @RankCCode03, @RankCCount03, @RankCType04, @RankCCode04, @RankCCount04, @RankCType05, @RankCCode05, @RankCCount05 ),
( 4, @RankDType01, @RankDCode01, @RankDCount01, @RankDType02, @RankDCode02, @RankDCount02, @RankDType03, @RankDCode03, @RankDCount03, @RankDType04, @RankDCode04, @RankDCount04, @RankDType05, @RankDCode05, @RankDCount05 )
INSERT INTO [LosaGame].[dbo].[userPracticeDB_Ranking]
(
StartDate, EndDate, AccountIDX, PracticeIDX, PracticeRank, sendIDX, value, msgType, limitDate
)
SELECT @StartDate, @EndDate, AccountIDX as AccountIDX, PracticeIDX AS PracticeIDX, PracticeRank AS PracticeRank, @sendIDX AS sendIDX
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN 1
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN 2
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN 3
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN 4
ELSE 0
END AS presentType
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN @RankAMent
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN @RankBMent
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN @RankCMent
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN @RankDMent
END AS msgType
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN GETDATE() + @RankAPeriad
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN GETDATE() + @RankBPeriad
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN GETDATE() + @RankCPeriad
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN GETDATE() + @RankDPeriad
END AS limitDate
FROM
(
SELECT [AccountIDX], RANK()over(PARTITION BY PracticeIDX ORDER BY PracticeTime, UpdateDate) AS PracticeRank, PracticeIDX, PracticeTime
FROM [LosaGame].[dbo].[userPracticeDB]
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND AccountIDX IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB])
) PracticeDB
IF (@@ROWCOUNT = 0) OR (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
RETURN;
END
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType1, Code1, Value1, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code1 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType2, Code2, Value2, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code2 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType3, Code3, Value3, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code3 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType4, Code4, Value4, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code4 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType5, Code5, Value5, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code5 > 0
UPDATE dbo.userGameDB SET practice = 1
--------------------------------------------------------------------
-- 0. 프로시져 시작 할때 userGameDB 백업 하자.
--------------------------------------------------------------------
DECLARE @tblName varchar(256), @sql varchar(256)
SET @tblName = '[Backup].dbo.LosaGame_' + @TableDate + '_userPracticeDB_Ranking'
SET @sql = 'SELECT * INTO ' + @tblName + ' FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue'
execute (@sql)
DECLARE @tblName1 varchar(256), @sqlo varchar(256)
SET @tblName1 = '[Backup].dbo.LosaGame_' + @TableDate + '_userPracticeDB'
SET @sqlo = 'SELECT * INTO ' + @tblName1 + ' FROM [LosaGame].[dbo].[userPracticeDB]'
execute (@sqlo)
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB]
COMMIT TRAN
END
@@ -0,0 +1,80 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_set_data]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_set_data]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_set_data','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_set_data
--
--GO
-- =============================================
-- Subject : dbo.game_practice_set_data
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_set_data]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_GRADE INT, -- 수련장 등급
@PRACTICE_COUNT INT, -- 수련장 입장횟수
@PRACTICE_TIME INT, -- 수련장 시간
@PRACTICE_RANK INT -- 수련장 랭크
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPracticeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX))
BEGIN
UPDATE dbo.userPracticeDB
SET PracticeGrade = @PRACTICE_GRADE, PracticeCount=@PRACTICE_COUNT
, PracticeTime=@PRACTICE_TIME, PracticeRank=@PRACTICE_RANK
WHERE AccountIDX = @ACCOUNT_IDX
AND PracticeIDX = @PRACTICE_IDX;
END
ELSE
BEGIN
INSERT INTO dbo.userPracticeDB (AccountIDX, PracticeIDX, PracticeCount, PracticeGrade, PracticeTime, PracticeRank, UpdateDate, regDate)
VALUES ( @ACCOUNT_IDX, @PRACTICE_IDX, @PRACTICE_COUNT, @PRACTICE_GRADE, @PRACTICE_TIME, @PRACTICE_RANK, GETDATE(), GETDATE());
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT @nReturn;
RETURN;
@@ -0,0 +1,85 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_Time] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_set_Time]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_set_Time]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_Time] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_set_Time','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_set_Time
--
--GO
-- =============================================
-- Subject : dbo.game_practice_set_Time
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_set_Time]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_GRADE INT, -- 수련장 등급
@PRACTICE_COUNT INT, -- 수련장 입장횟수
@PRACTICE_TIME INT, -- 수련장 시간
@PRACTICE_RANK INT -- 수련장 랭크
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPracticeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX))
BEGIN
UPDATE dbo.userPracticeDB
SET PracticeGrade = @PRACTICE_GRADE, PracticeCount=@PRACTICE_COUNT
, PracticeTime=@PRACTICE_TIME, PracticeRank=@PRACTICE_RANK
, UpdateDate = GETDATE()
WHERE AccountIDX = @ACCOUNT_IDX
AND PracticeIDX = @PRACTICE_IDX;
END
ELSE
BEGIN
INSERT INTO dbo.userPracticeDB (AccountIDX, PracticeIDX, PracticeCount, PracticeGrade, PracticeTime, PracticeRank, UpdateDate, regDate)
VALUES ( @ACCOUNT_IDX, @PRACTICE_IDX, @PRACTICE_COUNT, @PRACTICE_GRADE, @PRACTICE_TIME, @PRACTICE_RANK, GETDATE(), GETDATE());
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT @nReturn;
RETURN;
GO
+1
View File
@@ -0,0 +1 @@
ALTER TABLE [LosaGame].[dbo].[userGameDB] ADD Practice SMALLINT NOT NULL CONSTRAINT DF_Practice DEFAULT 1;
+54
View File
@@ -0,0 +1,54 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPracticeDB]
GO
/****** Object: Table [dbo].[userPracticeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB](
[AccountIDX] [int] NOT NULL,
[PracticeIDX] [int] NOT NULL,
[PracticeCount] [int] NOT NULL,
[PracticeGrade] [int] NOT NULL,
[PracticeTime] [int] NOT NULL,
[PracticeRank] [int] NOT NULL,
[UpdateDate][datetime] NOT NULL,
[regDate] [datetime] NOT NULL,
CONSTRAINT [PK_userPracticeDB] PRIMARY KEY CLUSTERED
(
[AccountIDX] ASC,
[PracticeIDX] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Pract__4AE30379] DEFAULT ((0)) FOR [PracticeIDX]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Grade__4BD727B2] DEFAULT ((0)) FOR [PracticeGrade]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Count__4BD727B2] DEFAULT ((0)) FOR [PracticeCount]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__time__4BD727B2] DEFAULT ((999999999)) FOR [PracticeTime]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Rank__4BD727B2] DEFAULT ((99999999)) FOR [PracticeRank]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__UpdateDate__4DBF7024] DEFAULT (getdate()) FOR [UpdateDate]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__regDa__4DBF7024] DEFAULT (getdate()) FOR [regDate]
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB_Present] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
DROP TABLE [dbo].[userPracticeDB_Present]
GO
/****** Object: Table [dbo].[userPracticeDB_Present] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB_Present]
(
[PresentValue] [int] NOT NULL,
[PresentType1] [int] NOT NULL,
[Code1] [int] NOT NULL,
[Value1] [int] NOT NULL,
[PresentType2] [int] NOT NULL,
[Code2] [int] NOT NULL,
[Value2] [int] NOT NULL,
[PresentType3] [int] NOT NULL,
[Code3] [int] NOT NULL,
[Value3] [int] NOT NULL,
[PresentType4] [int] NOT NULL,
[Code4] [int] NOT NULL,
[Value4] [int] NOT NULL,
[PresentType5] [int] NOT NULL,
[Code5] [int] NOT NULL,
[Value5] [int] NOT NULL,
CONSTRAINT [PK_userPracticeDB_Present] PRIMARY KEY CLUSTERED
(
[PresentValue] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
@@ -0,0 +1,36 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB_Ranking] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
DROP TABLE [dbo].[userPracticeDB_Ranking]
GO
/****** Object: Table [dbo].[userPracticeDB_Ranking] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB_Ranking]
(
[StartDate] [NVARCHAR](10) NOT NULL,
[EndDate] [NVARCHAR](10) NOT NULL,
[AccountIDX] [int] NOT NULL,
[PracticeIDX] [int] NOT NULL CONSTRAINT [DF__userPractRanking__Pract__4AE30379] DEFAULT ((0)),
[PracticeRank] [int] NOT NULL CONSTRAINT [DF__userPractRanking__Rank__4BD727B2] DEFAULT ((999999999)),
[sendIDX] [int] NOT NULL,
[value] [int] NOT NULL,
[msgType] [int] NULL,
[limitDate] [datetime] NULL,
) ON [PRIMARY]
GO
/****** Object: Index [NCI_T_World_Enthrone_WorldID] Script Date: 2017-06-16 ¿ÀÈÄ 3:55:17 ******/
CREATE NONCLUSTERED INDEX [NCI_userPracticeDB_Ranking] ON [dbo].[userPracticeDB_Ranking]
(
[AccountIDX] ASC,
[PracticeIDX] ASC
)