搜索
 找回密码
 加入

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

ctgwglzc 2008-12-26 14:19:34 1372
  1. /****** Object:  Stored Procedure dbo.UPDATE_KNIGHTS_ALLIANCE    Script Date: 6/6/2006 6:03:32 PM ******/

  2. -- Created By Sungyong 2003.06.18

  3. CREATE PROCEDURE UPDATE_KNIGHTS_ALLIANCE
  4. @byType                tinyint,
  5. @shAlliancIndex                smallint,
  6. @shKnightsIndex        smallint,
  7. @byEmptyIndex                tinyint,
  8. @bySiegeFlag                tinyint

  9. AS

  10. DECLARE @SubKnightsIndex smallint
  11. DECLARE @MercenaryClan_1 smallint
  12. DECLARE @MercenaryClan_2 smallint
  13. SET @SubKnightsIndex = 0
  14. SET @MercenaryClan_1 = 0
  15. SET @MercenaryClan_2 = 0

  16. IF @byType = 44               
  17. BEGIN
  18.         INSERT INTO KNIGHTS_ALLIANCE (sMainAllianceKnights,sSubAllianceKnights,sMercenaryClan_1,sMercenaryClan_2) VALUES (@shAlliancIndex,0,0,0)
  19.         UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shAlliancIndex
  20. END
  21. ELSE IF @byType = 46               
  22. BEGIN
  23.         IF @byEmptyIndex = 1       
  24.         BEGIN
  25.                 UPDATE KNIGHTS_ALLIANCE SET sSubAllianceKnights = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
  26.                 UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
  27.         END
  28.         IF @byEmptyIndex = 2       
  29.         BEGIN
  30.                 UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_1 = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
  31.                 UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
  32.         END
  33.         IF @byEmptyIndex = 3       
  34.         BEGIN
  35.                 UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_2 = @shKnightsIndex WHERE sMainAllianceKnights = @shAlliancIndex       
  36.                 UPDATE KNIGHTS SET bySiegeFlag = @bySiegeFlag, sAllianceKnights = @shAlliancIndex WHERE IDNum = @shKnightsIndex       
  37.         END
  38. END
  39. ELSE IF @byType = 47 or @byType =  48               
  40. BEGIN
  41.         SELECT @SubKnightsIndex=sSubAllianceKnights, @MercenaryClan_1= sMercenaryClan_1,  @MercenaryClan_2= sMercenaryClan_2 FROM KNIGHTS_ALLIANCE WHERE sMainAllianceKnights = @shAlliancIndex
  42.         IF @SubKnightsIndex = @shKnightsIndex       
  43.         BEGIN
  44.                 UPDATE KNIGHTS_ALLIANCE SET sSubAllianceKnights = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
  45.         END
  46.         IF @MercenaryClan_1 = @shKnightsIndex       
  47.         BEGIN
  48.                 UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_1 = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
  49.         END
  50.         IF @MercenaryClan_2 = @shKnightsIndex       
  51.         BEGIN
  52.                 UPDATE KNIGHTS_ALLIANCE SET sMercenaryClan_2 = 0 WHERE sMainAllianceKnights = @shAlliancIndex       
  53.         END

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

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

  60.         IF @SubKnightsIndex <> 0
  61.         BEGIN
  62.                 UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @SubKnightsIndex       
  63.         END
  64.         IF @MercenaryClan_1 <> 0
  65.         BEGIN
  66.                 UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @MercenaryClan_1
  67.         END
  68.         IF @MercenaryClan_2 <> 0
  69.         BEGIN
  70.                 UPDATE KNIGHTS SET bySiegeFlag = 0, sAllianceKnights = 0 WHERE IDNum = @MercenaryClan_2
  71.         END

  72.         DELETE FROM KNIGHTS_ALLIANCE WHERE sMainAllianceKnights = @shAlliancIndex       
  73. END
  74. GO
复制代码

4 回复

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
最近好东西越来越多了啊,谢谢分享!拜领,拜领!
高级模式
游客