晕...TOTO你的1半是3分之2啊...那我把后面的3分之一也发了吧...但我想知道怎么修正暴点...
ALTER PROCEDURE [dbo].[NT]
@Account varchar(50),
@NTnum varchar(50)
AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)
begin tran
declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)
declare @online1 varchar(50)
set @online1 = (select count(strcharid) from currentuser where strcharid = @char1)
declare @online2 varchar(50)
set @online2 = (select count(strcharid) from currentuser where strcharid = @char2)
declare @online3 varchar(50)
set @online3 = (select count(strcharid) from currentuser where strcharid = @char3)
if @online1 > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
if @online2 > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
if @online3 > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
if @NTnum = 2 and @online1 = 0 and @online2 = 0 and @online3 = 0
begin
update account_char set bnation = '2' where bnation = '1' and straccountid = @Account
update userdata set nation = '2' where nation = '1' and struserid = @char1
Update userdata set race = '11' where class = '105' and struserid = @char1
update userdata set race = '11' where class = '101' and struserid = @char1
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char1
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char1
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char1
update userdata set class = '205' where class = '105' and struserid = @char1
update userdata set class = '207' where class = '107' and struserid = @char1
update userdata set class = '209' where class = '109' and struserid = @char1
update userdata set class = '211' where class = '111' and struserid = @char1
update userdata set class = '201' where class = '101' and struserid = @char1
update userdata set class = '202' where class = '102' and struserid = @char1
update userdata set class = '203' where class = '103' and struserid = @char1
update userdata set class = '204' where class = '104' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '2' where nation = '1' and struserid = @char2
Update userdata set race = '11' where class = '105' and struserid = @char2
update userdata set race = '11' where class = '101' and struserid = @char2
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char2
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char2
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char2
update userdata set class = '205' where class = '105' and struserid = @char2
update userdata set class = '207' where class = '107' and struserid = @char2
update userdata set class = '209' where class = '109' and struserid = @char2
update userdata set class = '211' where class = '111' and struserid = @char2
update userdata set class = '201' where class = '101' and struserid = @char2
update userdata set class = '202' where class = '102' and struserid = @char2
update userdata set class = '203' where class = '103' and struserid = @char2
update userdata set class = '204' where class = '104' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '2' where nation = '1' and struserid = @char3
Update userdata set race = '11' where class = '105' and struserid = @char3
update userdata set race = '11' where class = '101' and struserid = @char3
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char3
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char3
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char3
update userdata set class = '205' where class = '105' and struserid = @char3
update userdata set class = '207' where class = '107' and struserid = @char3
update userdata set class = '209' where class = '109' and struserid = @char3
update userdata set class = '211' where class = '111' and struserid = @char3
update userdata set class = '201' where class = '101' and struserid = @char3
update userdata set class = '202' where class = '102' and struserid = @char3
update userdata set class = '203' where class = '103' and struserid = @char3
update userdata set class = '204' where class = '104' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = null where vicechief_1 = @char1
Update knights set vicechief_2 = null where vicechief_2 = @char1
Update knights set vicechief_3 = null where vicechief_3 = @char1
Update knights set vicechief_1 = null where vicechief_1 = @char2
Update knights set vicechief_2 = null where vicechief_2 = @char2
Update knights set vicechief_3 = null where vicechief_3 = @char2
Update knights set vicechief_1 = null where vicechief_1 = @char3
Update knights set vicechief_2 = null where vicechief_2 = @char3
Update knights set vicechief_3 = null where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
end
if @NTnum = 1 and @online1 = 0 and @online2 = 0 and @online3 = 0
begin
update account_char set bnation = '1' where bnation = '2' and straccountid = @Account
update userdata set nation = '1' where nation = '2' and struserid = @char1
Update userdata set race = '1' where class in ('201','205') and struserid = @char1
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char1
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char1
update userdata set race = '4' where class in ('203','209') and struserid = @char1
update userdata set class = '105' where class = '205' and struserid = @char1
update userdata set class = '107' where class = '207' and struserid = @char1
update userdata set class = '109' where class = '209' and struserid = @char1
update userdata set class = '111' where class = '211' and struserid = @char1
update userdata set class = '101' where class = '201' and struserid = @char1
update userdata set class = '102' where class = '202' and struserid = @char1
update userdata set class = '103' where class = '203' and struserid = @char1
update userdata set class = '104' where class = '204' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '1' where nation = '2' and struserid = @char2
Update userdata set race = '1' where class in ('201','205') and struserid = @char2
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char2
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char2
update userdata set race = '4' where class in ('203','209') and struserid = @char2
update userdata set race = '4' where class = '209' and struserid = @char2
update userdata set class = '105' where class = '205' and struserid = @char2
update userdata set class = '107' where class = '207' and struserid = @char2
update userdata set class = '109' where class = '209' and struserid = @char2
update userdata set class = '111' where class = '211' and struserid = @char2
update userdata set class = '101' where class = '201' and struserid = @char2
update userdata set class = '102' where class = '202' and struserid = @char2
update userdata set class = '103' where class = '203' and struserid = @char2
update userdata set class = '104' where class = '204' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '1' where nation = '2' and struserid = @char3
Update userdata set race = '1' where class in ('201','205') and struserid = @char3
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char3
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char3
update userdata set race = '4' where class in ('203','209') and struserid = @char3
update userdata set class = '105' where class = '205' and struserid = @char3
update userdata set class = '107' where class = '207' and struserid = @char3
update userdata set class = '109' where class = '209' and struserid = @char3
update userdata set class = '111' where class = '211' and struserid = @char3
update userdata set class = '101' where class = '201' and struserid = @char3
update userdata set class = '102' where class = '202' and struserid = @char3
update userdata set class = '103' where class = '203' and struserid = @char3
update userdata set class = '104' where class = '204' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = null where vicechief_1 = @char1
Update knights set vicechief_2 = null where vicechief_2 = @char1
Update knights set vicechief_3 = null where vicechief_3 = @char1
Update knights set vicechief_1 = null where vicechief_1 = @char2
Update knights set vicechief_2 = null where vicechief_2 = @char2
Update knights set vicechief_3 = null where vicechief_3 = @char2
Update knights set vicechief_1 = null where vicechief_1 = @char3
Update knights set vicechief_2 = null where vicechief_2 = @char3
Update knights set vicechief_3 = null where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
end
commit tran |