- create PROCEDURE [dbo].[korename]
- @AccountID varchar(21),
- @Password varchar(13),
- @username varchar(30),
- @newname varchar(30)
- AS
- DECLARE @Nation tinyint, @CharNum smallint,@kocount smallint,@chiefcount smallint
- SET @Nation = 0
- SET @CharNum = 0
- SET @kocount = 0
- DECLARE @pwd varchar(13),@item1 varchar(30),@item2 varchar(30),@item3 varchar(30)
- DECLARE @chief varchar(30),@vicechief1 varchar(30),@vicechief2 varchar(30),@vicechief3 varchar(30)
- SET @pwd = null
- SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays>0;
- SELECT @kocount = count(1) FROM [dbo].[userdata] WHERE struserid = @newname ;
- SELECT @chiefcount = count(1) FROM KNIGHTS WHERE chief=@username or vicechief_1=@username or vicechief_2=@username or vicechief_3=@username ;
- select @item1=strcharid1,@item2=strcharid2,@item3=strcharid3 from account_char where straccountid=@AccountID;
- select @chief=chief,@vicechief1=vicechief_1,@vicechief2=vicechief_2,@vicechief3=vicechief_3 from KNIGHTS
- where chief=@username or vicechief_1=@username or vicechief_2=@username or vicechief_3=@username;
- IF @pwd IS null
- BEGIN
- --SET @nRet = 0
- -- SET @nRet = 4
- RETURN
- END
- ELSE IF @pwd <> @Password
- BEGIN
- --SET @nRet = 0
- -- SET @nRet = 3
- RETURN
- END
- begin
- if @pwd = @Password and @kocount=0
- begin
- if @item1=@username
- --SET @nRet = 6
- update account_char set strcharid1=@newname where straccountid=@AccountID;
- else if @item2=@username
- update account_char set strcharid2=@newname where straccountid=@AccountID;
- else if @item3=@username
- update account_char set strcharid3=@newname where straccountid=@AccountID;
- end;
- update userdata set struserid=@newname where struserid=@username;
- begin
- update KNIGHTS set chief=@newname where chief=@username;
- update KNIGHTS set vicechief_1=@newname where vicechief_1=@username;
- update KNIGHTS set vicechief_2=@newname where vicechief_2=@username;
- update KNIGHTS set vicechief_3=@newname where vicechief_3=@username;
- end;
- end ;
- GO
复制代码 |