weird problem with honor buffs

08/19/2019 00:42 sigel123456789#1
everything seems well configured however i faced a weird problem
when update time comes it must update trainingcamphonorrank table with champ id and rank right ?
nah here it turns it into null
also i've copied all procedures from a clean database and same problem
trainingcamphonorrank
[Only registered and activated users can see links. Click Here To Register...]

update procedure
PHP Code:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_UPDATEHONORRANK]    Script Date: 8/19/2019 1:37:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


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


DECLARE RankCursor CURSOR FAST_FORWARD FOR
SELECT TOP 50 [ID] FROM _TrainingCamp WITH (NOLOCK)
WHERE EvaluationPoint >= 10
ORDER BY EvaluationPoint DESC
, LatestEvaluationDate ASC


-- 일단 전체 랭킹을 없음으로 표시하자.
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 
------------------------
FIXED THE PROBLEM WAS RELATED TO EVALUATION POINTS