- /****** 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
复制代码 |