خد Backup من الـDB الأول حضرتك
و تستخدم الـQuery ده
كود PHP:
use SRO_VT_SHARD TRUNCATE TABLE [dbo].[_TrainingCampSubMentorHonorPoint] TRUNCATE TABLE [dbo].[_TrainingCampMember] TRUNCATE TABLE [dbo].[_TrainingCampBuffStatus] TRUNCATE TABLE [dbo].[_TrainingCampHonorRank] INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (1) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (2) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (3) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (4) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (5) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (6) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (7) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (8) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (9) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (10) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (11) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (12) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (13) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (14) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (15) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (16) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (17) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (18) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (19) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (20) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (21) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (22) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (23) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (24) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (25) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (26) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (27) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (28) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (29) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (30) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (31) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (32) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (33) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (34) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (35) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (36) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (37) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (38) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (39) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (40) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (41) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (42) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (43) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (44) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (45) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (46) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (47) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (48) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (49) INSERT INTO [dbo].[_TrainingCampHonorRank](Ranking) VALUES (50) EXEC [dbo].[_TRAINING_CAMP_UPDATEHONORRANK] DELETE FROM [dbo].[_TrainingCamp]
بعدين هتفتح حضرتك المسار ده
SQL > SRO_VT_SHARD > Programmability > Stored Procedures
و هتفتح كل واحد من دول و تبدل اللي فيه باللي انا جايبه
_TRAINING_CAMP_ADDMEMBER
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_ADDMEMBER] Script Date: 9/26/2018 9:38:25 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_ADDMEMBER] @CampID INT, @MemberID INT AS
SET NOCOUNT ON
IF NOT EXISTS (SELECT [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID) BEGIN RETURN -1000 END
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @MemberID) BEGIN RETURN -1001 END
DECLARE @Ret INT
BEGIN TRANSACTION
DECLARE @HonorPoint INT SET @HonorPoint = 0 SELECT @HonorPoint = HonorPoint FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @MemberID
IF @HonorPoint <> 0 BEGIN DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -6 END END
EXEC @Ret = _TrainingCamp_FnAddMember @CampID, @MemberID, @HonorPoint IF (@@ERROR <> 0 OR @Ret <= 0) BEGIN ROLLBACK TRANSACTION RETURN @Ret END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN 1
_TRAINING_CAMP_CREATE
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_CREATE] Script Date: 9/26/2018 9:38:41 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_CREATE] @CreaterID INT AS SET NOCOUNT ON
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @CreaterID) BEGIN RETURN -1001 END
DECLARE @CampID INT DECLARE @FoundationDate SMALLDATETIME SET @FoundationDate = GETDATE()
BEGIN TRANSACTION
DECLARE @HonorPoint INT SET @HonorPoint = 0 SELECT @HonorPoint = HonorPoint FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @CreaterID
IF @HonorPoint <> 0 BEGIN DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @CreaterID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -6 END END
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0 OR @CampID = 0) BEGIN ROLLBACK TRANSACTION RETURN -7 END
DECLARE @Ret INT EXEC @Ret = _TrainingCamp_FnAddMember @CampID, @CreaterID, @HonorPoint IF (@@ERROR <> 0 OR @Ret <= 0) BEGIN ROLLBACK TRANSACTION RETURN @Ret END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN @CampID
_TRAINING_CAMP_DELCAMP
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_DELCAMP] Script Date: 9/26/2018 9:39:35 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_DELCAMP] @CampID INT, @CreaterID INT AS SET NOCOUNT ON
IF NOT EXISTS (SELECT [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID) BEGIN RETURN -1000 END
DECLARE @MemberClass TINYINT SELECT @MemberClass = MemberClass FROM _TrainingCampMember WITH (NOLOCK) WHERE CampID = @CampID AND CharID = @CreaterID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0 OR @MemberClass <> 0) BEGIN RETURN -2000 END
BEGIN TRANSACTION
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥أ‡أکµأگ´أ™. INSERT _TrainingCampSubMentorHonorPoint SELECT CharID, HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 1 AND HonorPoint > 0 IF (@@ERROR <> 0) BEGIN ROLLBACK TRANSACTION RETURN -2 END
DELETE FROM _TrainingCampMember WHERE CampID = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -1 END
DELETE FROM _TrainingCamp WHERE [ID] = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2 END
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥ »èأپ¦ DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2005 END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN 1
_TRAINING_CAMP_DELMEMBER
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_DELMEMBER] Script Date: 9/26/2018 9:40:39 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_DELMEMBER] @CampID INT, @MemberID INT, @IsBan TINYINT AS SET NOCOUNT ON
IF NOT EXISTS (SELECT [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID) BEGIN RETURN -2000 END
DECLARE @MemberClass TINYINT SELECT @MemberClass = MemberClass FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0 OR @MemberClass = 0) BEGIN RETURN -2001 END
BEGIN TRANSACTION
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أŒ أ…»أ…أ°, أˆ¤أ€آ؛ °*أ…أ°µأ‡´أ‚ °أ¦آ؟أ¬آ؟£ آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥أ‡أک¾أں أ‡أ‘´أ™. IF @MemberClass = 1 BEGIN DECLARE @HonorPoint INT SELECT @HonorPoint = HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2002 END
-- °*أ…أ°µأˆ °أچأ€أŒ ¾أ†´أڈ°أ*, ¸أ*آ؟¹أ†÷أ€أژأ†®°آ، 10أپآ، أ€أŒ»أ³أ€أŒ¶أ³¸é 10أپآ،أ€» ±îأ€أڑ. IF (@IsBan <> 1) BEGIN IF (@HonorPoint >= 10) BEGIN SET @HonorPoint = @HonorPoint - 10 END ELSE BEGIN SET @HonorPoint = 0 END END
-- أ…×أ€أŒآ؛أ*آ؟آ، ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ أ€أ؛أ€أ¥. IF @HonorPoint > 0 BEGIN INSERT INTO _TrainingCampSubMentorHonorPoint VALUES (@MemberID, @HonorPoint) IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2 END END END ELSE BEGIN -- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥ »èأپ¦ DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID AND RecipientCharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2005 END END
DELETE FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -1 END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN 1
_TRAINING_CAMP_MEMBER_GRADUATE
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_MEMBER_GRADUATE] Script Date: 9/26/2018 9:41:05 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_MEMBER_GRADUATE] @CampID INT, @MemberID INT, @Evaluation INT AS SET NOCOUNT ON
IF NOT EXISTS (SELECT [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID) BEGIN RETURN -2000 END
DECLARE @MemberClass TINYINT SELECT @MemberClass = MemberClass FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0 OR @MemberClass = 0) BEGIN RETURN -2001 END
BEGIN TRANSACTION
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ أپ¹¾÷ IF @MemberClass = 1 BEGIN -- أ€أŒ³أ‘أ€آ؛ أ†أ²°آ، أپآ،¼أ¶°آ، ¾أ¸´أ™. ´أ™¸¸, أ€أŒ ³أ‘أ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥¸¸ أ‡أکأپأ–¸é µأˆ´أ™. DECLARE @HonorPoint INT SELECT @HonorPoint = HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2002 END
-- أ…×أ€أŒآ؛أ*آ؟آ، ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ أ€أ؛أ€أ¥. IF @HonorPoint > 0 BEGIN INSERT INTO _TrainingCampSubMentorHonorPoint VALUES (@MemberID, @HonorPoint) IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2 END END END ELSE -- ¼أ¶·أƒ»أ½أ€أ‡ أپ¹¾÷ BEGIN
-- ¸â¹أ¶µéآ؟آ،°أ” ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ ¹أآ؟µأ‡أکآ؛¸أ€أڑ. DECLARE @JoinLvl INT
SELECT @JoinLvl = CharJoinedLevel FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2003 END
SET @MentorPoint = (40 - @JoinLvl) SET @SubMentorPoint = (@MentorPoint / 10)
UPDATE _TrainingCampMember SET HonorPoint = (HonorPoint + @MentorPoint) WHERE CampID = @CampID AND MemberClass = 0 IF (@@ERROR <> 0) BEGIN ROLLBACK TRANSACTION RETURN -4 END
UPDATE _TrainingCampMember SET HonorPoint = (HonorPoint + @SubMentorPoint) WHERE CampID = @CampID AND MemberClass = 1 IF (@@ERROR <> 0) BEGIN ROLLBACK TRANSACTION RETURN -5 END
-- أ†أ²°آ،أپآ،¼أ¶¸¦ ¹أآ؟µأ‡أکآ؛¸أ€أڑ. UPDATE _TrainingCamp SET GraduateCount = (GraduateCount + 1), EvaluationPoint = (EvaluationPoint + @Evaluation), LatestEvaluationDate = GETDATE() WHERE [ID] = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -3 END END ELSE BEGIN UPDATE _TrainingCamp SET GraduateCount = (GraduateCount + 1) WHERE [ID] = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -3 END END
DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID AND RecipientCharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -2005 END END
-- أ‡أ¶أ€ç أ„·أ‡أپ ¸â¹أ¶آ؟آ،¼* »èأپ¦ DELETE FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION RETURN -1 END
COMMIT TRANSACTION
SET NOCOUNT OFF
RETURN 1
_TRAINING_CAMP_REFRESHMEMBERSTATUS
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_REFRESHMEMBERSTATUS] Script Date: 9/26/2018 9:41:31 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_REFRESHMEMBERSTATUS] @CampID INT, @MemberID INT, @RefreshTarget TINYINT, @Data INT AS SET NOCOUNT ON /* #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_PLAYSTATE (BYTE)0x01 #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_LEVEL (BYTE)0x02 #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_HONORPOINT (BYTE)0x03 #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_POSITION (BYTE)0x04 #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_CHARNAME (BYTE)0x05 #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_CUR_LEVEL (BYTE)0x06 */ IF @RefreshTarget = 2 -- MaxLevel BEGIN UPDATE _TrainingCampMember SET CharMaxLevel = @Data WHERE CampID = @CampID AND CharID = @MemberID END
IF @RefreshTarget = 6 -- CurLevel BEGIN UPDATE _TrainingCampMember SET CharCurLevel = @Data WHERE CampID = @CampID AND CharID = @MemberID END
SET NOCOUNT OFF
_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED] Script Date: 9/26/2018 9:41:46 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED] AS IF NOT EXISTS (SELECT LastUpdateDate FROM _TrainingCampHonorRankUpdateDate ) BEGIN RETURN 1 END
DECLARE @UpdateDate DATETIME
SELECT @UpdateDate = LastUpdateDate FROM _TrainingCampHonorRankUpdateDate
IF DATEDIFF(DAY, @UpdateDate, GETDATE()) = 0 BEGIN RETURN 0 END ELSE BEGIN RETURN 1 END
_TRAINING_CAMP_UPDATEHONORRANK
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TRAINING_CAMP_UPDATEHONORRANK] Script Date: 9/26/2018 9:42:29 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TRAINING_CAMP_UPDATEHONORRANK] AS SET NOCOUNT ON
DECLARE RankCursor CURSOR FAST_FORWARD FOR SELECT TOP 50 [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE EvaluationPoint >= 10 ORDER BY EvaluationPoint DESC, LatestEvaluationDate ASC
OPEN RankCursor FETCH NEXT FROM RankCursor INTO @CampID WHILE @@FETCH_STATUS = 0 BEGIN IF @Ranking <= 5 BEGIN SET @Rank = 1 END ELSE IF @Ranking <= 15 BEGIN SET @Rank = 2 END ELSE IF @Ranking <= 30 BEGIN SET @Rank = 3 END ELSE BEGIN SET @Rank = 4 END
UPDATE _TrainingCamp SET Rank = @Rank WHERE [ID] = @CampID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION CLOSE RankCursor DEALLOCATE RankCursor
RETURN -2 END UPDATE _TrainingCampHonorRank SET CampID = @CampID, Rank = @Rank WHERE Ranking = @Ranking IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN ROLLBACK TRANSACTION CLOSE RankCursor DEALLOCATE RankCursor
RETURN -3 END
SET @Ranking = @Ranking + 1
FETCH NEXT FROM RankCursor INTO @CampID 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
_TrainingCamp_FnAddMember
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TrainingCamp_FnAddMember] Script Date: 9/26/2018 9:43:23 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_TrainingCamp_FnAddMember] @CampID INT, @MemberID INT, @HonorPoint INT AS SET NOCOUNT ON
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @MemberID) BEGIN RETURN -1001 END
SELECT @MemberName = CharName16, @MemberMaxLvl = MaxLevel, @MemberCurLvl = CurLevel FROM _Char WITH (NOLOCK) WHERE CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN RETURN -1 END
IF EXISTS (SELECT CharID FROM _TrainingCampMember WITH (NOLOCK) WHERE CampID = @CampID AND CharID = @MemberID) BEGIN RETURN -2 END
DECLARE @RefObjID INT SELECT @RefObjID = RefObjID FROM _Char WITH (NOLOCK) WHERE CharID = @MemberID IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN RETURN -3 END
/* commented by novice. ¾أ†·آ،·أژ آ؟أ…±أ¤´أ™!! 2007. 07. 16. ---------------------------------------------------------------------------------------------------------- -- by novice DECLARE @ApprenticeCount INT DECLARE @SubMentorCount INT
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!! SELECT @SubMentorCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 1 IF ( @SubMentorCount >= 2 ) BEGIN RETURN -11 END
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!! SELECT @ApprenticeCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 2 IF ( @ApprenticeCount >= 5 ) BEGIN RETURN -12 END ---------------------------------------------------------------------------------------------------------- */
DECLARE @MemberClass TINYINT SET @MemberClass = 0
IF @MemberMaxLvl < 40 BEGIN SET @MemberClass = 2 END ELSE IF @MemberMaxLvl < 60 BEGIN SET @MemberClass = 1 END
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!! SELECT @MentorCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 0 IF ( @MentorCount >= 1 ) BEGIN RETURN -14 -- ADD DBأ€أ›¾÷ ½أ‡أ†أگ¶أ³´أ‚ ·أژ±×·أژ ¾´´أ™.. END END ELSE IF @MemberClass = 1 BEGIN DECLARE @SubMentorCount INT
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!! SELECT @SubMentorCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 1 IF ( @SubMentorCount >= 2 ) BEGIN RETURN -11 END END ELSE IF @MemberClass = 2 BEGIN DECLARE @ApprenticeCount INT
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!! SELECT @ApprenticeCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 2 IF ( @ApprenticeCount >= 5 ) BEGIN RETURN -12 END END ----------------------------------------------------------------------------------------------------------
INSERT _TrainingCampMember VALUES (@CampID, @MemberID, @RefObjID, @MemberName, GETDATE(), @MemberClass, @MemberMaxLvl, @MemberCurLvl, @MemberMaxLvl, @HonorPoint) IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN RETURN -5 END
IF ( 0 < (SELECT COUNT(*) FROM _TrainingCampBuffStatus WHERE CampID = @CampID and RecipientCharID = @MemberID) ) BEGIN RETURN -2006 END
-- °أ¦أ‡èأ„آ، أ€û¸³ ¹أ¶أ‡أپآ؟آ، ´ëأ‡أ‘ ³»آ؟ë IF @MemberClass = 0 BEGIN INSERT _TrainingCampBuffStatus SELECT @CampID, @MemberID, cnt + 1, 0, '2000-01-01', 0, 3 FROM _RefDummySlot with( nolock ) WHERE cnt < 5 IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN RETURN -2005 END END ELSE IF @MemberClass = 2 BEGIN INSERT _TrainingCampBuffStatus SELECT @CampID, @MemberID, 1, 0, '2000-01-01', 0, 3 IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) BEGIN RETURN -2005 END END
SET NOCOUNT OFF
RETURN 1
و جرب و قولي
معلش هما كتير شوية لكن دي المفروض تحل كل المشاكل
و يشتغل عادي جداً
بس رستر السيرفر بعد ما تخلص
معلش الأول بدل الـProcedures دول باللي عندك
و اقفل ملفات السيرفر كلها و افتحها و جرب كدا
_GetCharTrainingCamp
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_GetCharTrainingCamp] Script Date: 9/28/2018 12:54:32 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[_GetCharTrainingCamp] @CharName VARCHAR(64) AS SET NOCOUNT ON
DECLARE @CharID INT IF NOT EXISTS (SELECT CharID FROM _Char WITH (NOLOCK) WHERE CharName16 = @CharName) BEGIN RETURN -1 END
SELECT @CharID = CharID FROM _Char WITH (NOLOCK) WHERE CharName16 = @CharName
DECLARE @CampID INT SET @CampID = 0
SELECT @CampID = CampID FROM _TrainingCampMember WHERE CharID = @CharID IF @@ERROR <> 0 OR @@ROWCOUNT = 0 BEGIN RETURN -2 END
SET NOCOUNT OFF
RETURN @CampID
_TrainingCampRanking
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_TrainingCampRanking] Script Date: 9/28/2018 12:57:20 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
ALTER PROCEDURE [dbo].[_TrainingCampRanking] AS
SELECT Ranking, Tcm.CharName, Rank FROM _TrainingCampHonorRank AS Tchr JOIN _TrainingCampMember AS Tcm ON Tchr.CampID = Tcm.CampID WHERE Tcm.MemberClass = 0 -- 0أ€آ؛ أˆأ„°أںأ€أژ