15 DK içinde yazdigim ufak bir procedürü
sizinle paylasmak istedim.
Proceduru kullanmadan önce bütün
Rankingleri Updateleyiniz
CREATE
PROCEDURE [dbo].[NEW_KING_SYSTEM]
AS
/*
AUTHOR : LosingMySenses
LosingMySenses
*/
DECLARE @KnightsIndex smallint,@NationHuman
tinyint,@NationKarus tinyint,@KingKarus varchar(21),@KingHuman
varchar(21)
SELECT @KingKarus = strKarusUserID from
USER_PERSONAL_RANK where nRank = 1
SELECT @KingHuman = strElmoUserID
from USER_PERSONAL_RANK where nRank = 1
SELECT @KnightsIndex =
Knights FROM USERDATA where strUserId = @KingKarus
SELECT
@KnightsIndex = Knights FROM USERDATA Where strUserId = @KingHuman
SET
@NationHuman = 2
SET @NationKarus = 1
UPDATE USERDATA SET Rank = 0
Where Rank = 1
BEGIN
IF EXISTS (SELECT * FROM
KING_ELECTION_LIST WHERE strName = @KingKarus)
DELETE FROM
KING_ELECTION_LIST WHERE strName = @KingKarus
IF EXISTS (SELECT *
FROM KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingKarus)
DELETE FROM KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingKarus
INSERT INTO KING_CANDIDACY_NOTICE_BOARD Values(@KingKarus,
@NationKarus, 20, 0)
INSERT INTO [KING_ELECTION_LIST] VALUES(1,
@NationKarus, @KnightsIndex, @KingKarus, 0)
UPDATE USERDATA SET
Rank = 1 WHERE strUserId = @KingKarus
UPDATE KING_SYSTEM SET
strKingName = @KingKarus WHERE byNation = @NationKarus
END
BEGIN
IF EXISTS (SELECT * FROM KING_ELECTION_LIST WHERE strName =
@KingHuman)
DELETE FROM KING_ELECTION_LIST WHERE strName =
@KingHuman
IF EXISTS (SELECT * FROM KING_CANDIDACY_NOTICE_BOARD
WHERE strUserId = @KingHuman)
DELETE FROM
KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingHuman
INSERT
INTO KING_CANDIDACY_NOTICE_BOARD Values(@KingHuman, @NationHuman, 20, 0)
INSERT INTO [KING_ELECTION_LIST] VALUES(1, @NationHuman,
@KnightsIndex, @KingHuman, 0)
UPDATE USERDATA SET Rank = 1 WHERE
strUserId = @KingHuman
UPDATE KING_SYSTEM SET strKingName =
@KingHuman WHERE byNation = @NationHuman
END
sizinle paylasmak istedim.
Proceduru kullanmadan önce bütün
Rankingleri Updateleyiniz
CREATE
PROCEDURE [dbo].[NEW_KING_SYSTEM]
AS
/*
AUTHOR : LosingMySenses
LosingMySenses
*/
DECLARE @KnightsIndex smallint,@NationHuman
tinyint,@NationKarus tinyint,@KingKarus varchar(21),@KingHuman
varchar(21)
SELECT @KingKarus = strKarusUserID from
USER_PERSONAL_RANK where nRank = 1
SELECT @KingHuman = strElmoUserID
from USER_PERSONAL_RANK where nRank = 1
SELECT @KnightsIndex =
Knights FROM USERDATA where strUserId = @KingKarus
SELECT
@KnightsIndex = Knights FROM USERDATA Where strUserId = @KingHuman
SET
@NationHuman = 2
SET @NationKarus = 1
UPDATE USERDATA SET Rank = 0
Where Rank = 1
BEGIN
IF EXISTS (SELECT * FROM
KING_ELECTION_LIST WHERE strName = @KingKarus)
DELETE FROM
KING_ELECTION_LIST WHERE strName = @KingKarus
IF EXISTS (SELECT *
FROM KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingKarus)
DELETE FROM KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingKarus
INSERT INTO KING_CANDIDACY_NOTICE_BOARD Values(@KingKarus,
@NationKarus, 20, 0)
INSERT INTO [KING_ELECTION_LIST] VALUES(1,
@NationKarus, @KnightsIndex, @KingKarus, 0)
UPDATE USERDATA SET
Rank = 1 WHERE strUserId = @KingKarus
UPDATE KING_SYSTEM SET
strKingName = @KingKarus WHERE byNation = @NationKarus
END
BEGIN
IF EXISTS (SELECT * FROM KING_ELECTION_LIST WHERE strName =
@KingHuman)
DELETE FROM KING_ELECTION_LIST WHERE strName =
@KingHuman
IF EXISTS (SELECT * FROM KING_CANDIDACY_NOTICE_BOARD
WHERE strUserId = @KingHuman)
DELETE FROM
KING_CANDIDACY_NOTICE_BOARD WHERE strUserId = @KingHuman
INSERT
INTO KING_CANDIDACY_NOTICE_BOARD Values(@KingHuman, @NationHuman, 20, 0)
INSERT INTO [KING_ELECTION_LIST] VALUES(1, @NationHuman,
@KnightsIndex, @KingHuman, 0)
UPDATE USERDATA SET Rank = 1 WHERE
strUserId = @KingHuman
UPDATE KING_SYSTEM SET strKingName =
@KingHuman WHERE byNation = @NationHuman
END