well im doing honor ranking to show the jobbers top kills based on Graduate count
every kill = graduate
but somehow ingame Ranking didnt show the right grad count on the db ?
here is the [_TRAINING_CAMP_UPDATEHONORRANK] SP
PHP Code:
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_UPDATEHONORRANK]
AS
SET NOCOUNT ON
-- ÀÏ´Ü ·©Å· Å×À̺íÀ» ¼¼ÆÃÇÑ´Ù.
DECLARE [MENTION=1452052]ranking[/MENTION] INT
SET [MENTION=1452052]ranking[/MENTION] = 1
DECLARE [MENTION=320029]campi[/MENTION]D INT
DECLARE [MENTION=955363]rank[/MENTION] TINYINT
BEGIN TRANSACTION
SELECT TOP 10 [ID] FROM _TrainingCamp WITH (NOLOCK)
WHERE GraduateCount >= 15
ORDER BY GraduateCount DESC, EvaluationPoint DESC
-- ÀÏ´Ü Àüü ·©Å·À» ¾øÀ½À¸·Î Ç¥½ÃÇÏÀÚ.
UPDATE _TrainingCamp SET Rank = 5 WHERE Rank <> 5
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
DEALLOCATE RankCursor
RETURN -1
END
-- ·©Å· Å×ÀÌºíµµ ÃʱâÈ*ÇÏÀÚ.
UPDATE _TrainingCampHonorRank SET CampID = null, Rank = null
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
DEALLOCATE RankCursor
RETURN -1
END
OPEN RankCursor
FETCH NEXT FROM RankCursor INTO [MENTION=320029]campi[/MENTION]D
WHILE @@FETCH_STATUS = 0
BEGIN
IF [MENTION=1452052]ranking[/MENTION] <= 5
BEGIN
SET [MENTION=955363]rank[/MENTION] = 1
END
ELSE IF [MENTION=1452052]ranking[/MENTION] <= 15
BEGIN
SET [MENTION=955363]rank[/MENTION] = 2
END
ELSE IF [MENTION=1452052]ranking[/MENTION] <= 30
BEGIN
SET [MENTION=955363]rank[/MENTION] = 3
END
ELSE
BEGIN
SET [MENTION=955363]rank[/MENTION] = 4
END
UPDATE _TrainingCamp SET Rank = [MENTION=955363]rank[/MENTION] WHERE [ID] = [MENTION=320029]campi[/MENTION]D
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
CLOSE RankCursor
DEALLOCATE RankCursor
RETURN -2
END
UPDATE _TrainingCampHonorRank SET CampID = [MENTION=320029]campi[/MENTION]D, Rank = [MENTION=955363]rank[/MENTION] WHERE Ranking = [MENTION=1452052]ranking[/MENTION]
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
CLOSE RankCursor
DEALLOCATE RankCursor
RETURN -3
END
SET [MENTION=1452052]ranking[/MENTION] = [MENTION=1452052]ranking[/MENTION] + 1
FETCH NEXT FROM RankCursor INTO [MENTION=320029]campi[/MENTION]D
END
CLOSE RankCursor
DEALLOCATE RankCursor
-- ¸¶Áö¸·À¸·Î °»½ÅÇÑ ³¯Â¥¸¦ Àû¾îº¸ÀÚ!!!
IF EXISTS (SELECT LastUpdateDate FROM _TrainingCampHonorRankUpdateDate)
BEGIN
UPDATE _TrainingCampHonorRankUpdateDate SET LastUpdateDate = GETDATE()
END
ELSE
BEGIN
INSERT INTO _TrainingCampHonorRankUpdateDate VALUES (GETDATE())
END
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN 1