ctgwglzc 发表于 2008-12-26 10:36:26

修复军团联盟的存储----熊猫提供

/****** Object:Stored Procedure dbo.UPDATE_KNIGHTS_ALLIANCE    Script Date: 6/6/2006 6:03:32 PM ******/

-- Created By Sungyong 2003.06.18

CREATE PROCEDURE UPDATE_KNIGHTS_ALLIANCE
@byType                tinyint,
@shAlliancIndex                smallint,
@shKnightsIndex        smallint,
@byEmptyIndex                tinyint,
@bySiegeFlag                tinyint

AS

DECLARE @SubKnightsIndex smallint
DECLARE @MercenaryClan_1 smallint
DECLARE @MercenaryClan_2 smallint
SET @SubKnightsIndex = 0
SET @MercenaryClan_1 = 0
SET @MercenaryClan_2 = 0

IF @byType = 44               
BEGIN
        INSERT INTO KNIGHTS_ALLIANCE (sMainAllianceKnights,sSubAllianceKnights,sMercenaryClan_1,sMercenaryClan_2) VALUES (@shAlliancIndex,0,0,0)
        UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shAlliancIndex
END
ELSE IF @byType = 46               
BEGIN
        IF @byEmptyIndex = 1       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sSubAllianceKnights = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
                UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
        END
        IF @byEmptyIndex = 2       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_1 = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
                UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
        END
        IF @byEmptyIndex = 3       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_2 = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
                UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
        END
END
ELSE IF @byType = 47 or @byType =48               
BEGIN
        SELECT @SubKnightsIndex=sSubAllianceKnights, @MercenaryClan_1= sMercenaryClan_1,@MercenaryClan_2= sMercenaryClan_2 FROM KNIGHTS_ALLIANCE WHERE sMainAllianceKnights = @shAlliancIndex
        IF @SubKnightsIndex = @shKnightsIndex       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sSubAllianceKnights = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
        END
        IF @MercenaryClan_1 = @shKnightsIndex       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_1 = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
        END
        IF @MercenaryClan_2 = @shKnightsIndex       
        BEGIN
                UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_2 = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
        END

        UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @shKnightsIndex       
END
ELSE IF @byType = 49                -- destory alliance
BEGIN
        SELECT @SubKnightsIndex=sSubAllianceKnights, @MercenaryClan_1= sMercenaryClan_1,@MercenaryClan_2= sMercenaryClan_2 FROM KNIGHTS_ALLIANCE WHERE sMainAllianceKnights = @shAlliancIndex

        UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @shAlliancIndex       

        IF @SubKnightsIndex <> 0
        BEGIN
                UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @SubKnightsIndex       
        END
        IF @MercenaryClan_1 <> 0
        BEGIN
                UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @MercenaryClan_1
        END
        IF @MercenaryClan_2 <> 0
        BEGIN
                UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @MercenaryClan_2
        END

        DELETE FROM KNIGHTS_ALLIANCE WHERE sMainAllianceKnights = @shAlliancIndex       
END
GO

njsun 发表于 2008-12-26 11:39:59

楼主好样的!学习了!!

HB111 发表于 2008-12-26 12:19:03

好好学习,天天向上

28085279 发表于 2008-12-26 14:03:36

好东西,谢谢分享

ryan6755 发表于 2008-12-26 14:19:34

最近好东西越来越多了啊,谢谢分享!拜领,拜领!
页: [1]
查看完整版本: 修复军团联盟的存储----熊猫提供