搜索
 找回密码
 加入

在线改名储存过程

chencjh 2010-1-30 17:51:50 1457
  1. CREATE PROCEDURE CHANGE_NEW_ID
  2. @byType char(21),
  3. @AccountID char(21),
  4. @OldCharID char(21),
  5. @NewCharID char(21),
  6. @nRet smallint output
  7. AS
  8. /*
  9. Author : AKUMA
  10. */
  11. DECLARE @CheckUserID int
  12. SELECT @CheckUserID = COUNT(strUserID) FROM USERDATA WHERE strUserID = @NewCharID
  13. IF @CheckUserID = 0
  14. BEGIN
  15. -- Change Account All Information
  16. UPDATE ACCOUNT_CHAR SET strCharID1 = @NewCharID WHERE strCharID1 = @OldCharID AND strCharID1 is not null
  17. UPDATE ACCOUNT_CHAR SET strCharID2 = @NewCharID WHERE strCharID2 = @OldCharID AND strCharID2 is not null
  18. UPDATE ACCOUNT_CHAR SET strCharID3 = @NewCharID WHERE strCharID3 = @OldCharID AND strCharID3 is not null
  19. UPDATE USERDATA SET strUserId = @NewCharID WHERE strUserId = @OldCharID AND strUserId is not null
  20. -- Change Information a User in Knights
  21. UPDATE KNIGHTS_USER SET strUserId = @NewCharID WHERE strUserId = @OldCharID AND strUserId  is not null
  22. UPDATE KNIGHTS SET Chief = @NewCharID WHERE Chief = @OldCharID AND Chief is not null
  23. UPDATE KNIGHTS SET ViceChief_1 = @NewCharID WHERE ViceChief_1 = @OldCharID AND ViceChief_1 is not null
  24. UPDATE KNIGHTS SET ViceChief_2 = @NewCharID WHERE ViceChief_2 = @OldCharID AND ViceChief_2 is not null
  25. UPDATE KNIGHTS SET ViceChief_3 = @NewCharID WHERE ViceChief_3 = @OldCharID AND ViceChief_3 is not null
  26. -- Change Information a User is King
  27. UPDATE KING_SYSTEM SET strKingName = @NewCharID WHERE strKingName = @OldCharID AND strKingName is not null
  28. UPDATE KING_ELECTION_LIST SET strName = @NewCharID WHERE strName = @OldCharID AND strName is not null
  29. -- Change User Friend List Information
  30. UPDATE FRIEND_LIST SET strUserID = @NewCharID where strUserID = @OldCharID
  31. -- User Rental Item
  32. UPDATE RENTAL_ITEM SET strLenderCharID = @NewCharID WHERE strLenderCharID = @OldCharID AND strLenderCharID is not null
  33. UPDATE RENTAL_ITEM SET strBorrowerCharID = @NewCharID WHERE strBorrowerCharID = @OldCharID AND strBorrowerCharID is not null
  34. UPDATE RENTAL_ITEM_LIST SET strBorrowerCharID = @NewCharID WHERE strBorrowerCharID = @OldCharID AND strBorrowerCharID is not null
  35. -- Change CurrentUser
  36. UPDATE CURRENTUSER SET strCharID = @NewCharID WHERE strCharID = @OldCharID
  37. -- Name Change is Sucessfull
  38. SET @nRet = 0
  39. RETURN
  40. END
  41. ELSE
  42. BEGIN
  43. -- Entered ID is Already Being Used Another Character
  44. SET @nRet = 1
  45. RETURN
  46. END

  47. GO
复制代码

评分

1

查看全部评分

5 回复

wang9898
2009-8-20 23:56:46
点击查看详情
在线改名有复制漏洞,最好是判断玩家下线了才给改名
ming9413
2009-11-9 14:44:06
学习了~
duepbbmal336
2009-11-30 09:47:40
3# wery0712


这个要顶下好东西啊
leonjaykai
2010-1-12 16:27:26
請問樓主這是用於那個存儲表?  謝謝
zzy51521
2010-1-30 17:51:50
谢谢LZ了............
高级模式
游客