USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[ACCOUNT_CHAR_NAME_CHANGE] Script Date: 06/10/2008 04:12:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[ACCOUNT_CHAR_NAME_CHANGE]
(@strOldUserId varchar(30),@StrNewUserId varchar(30))
AS
DECLARE @strCheckOldUserID varchar(30),@strCheckNewUserID varchar(30)
BEGIN TRAN
SELECT @strCheckOldUserID = Count(strUserId) FROM USERDATA WHERE strUserId = @strOldUserId
IF @strCheckOldUserID = 0
BEGIN
PRINT 'Veritabanında ' + @strOldUserId + ' Adında Karakter Bulunamadı.'
END
ELSE
BEGIN
SELECT @strCheckNewUserID = Count(strUserId) FROM USERDATA WHERE strUserId = @StrNewUserId
IF @strCheckNewUserID = 0
BEGIN
UPDATE ACCOUNT_CHAR set strCharID1 = @StrNewUserId WHERE strCharID1 = @strOldUserId
UPDATE ACCOUNT_CHAR set strCharID2 = @StrNewUserId WHERE strCharID2 = @strOldUserId
UPDATE ACCOUNT_CHAR set strCharID3 = @StrNewUserId WHERE strCharID3 = @strOldUserId
UPDATE USERDATA SET strUserId = @StrNewUserId WHERE strUserId = @strOldUserId
UPDATE KNIGHTS_USER SET strUserId = @StrNewUserId WHERE strUserId = @strOldUserId
UPDATE KNIGHTS SET Chief = @StrNewUserId WHERE Chief = @strOldUserId
UPDATE KNIGHTS SET ViceChief_1 = @StrNewUserId WHERE ViceChief_1 = @strOldUserId
UPDATE KNIGHTS SET ViceChief_2 = @StrNewUserId WHERE ViceChief_2 = @strOldUserId
UPDATE KNIGHTS SET ViceChief_3 = @StrNewUserId WHERE ViceChief_3 = @strOldUserId
UPDATE KING_SYSTEM SET strKingName = @StrNewUserId WHERE strKingName = @strOldUserId
UPDATE KING_ELECTION_LIST SET strName = @StrNewUserId WHERE strName = @strOldUserId
PRINT @strOldUserId + ' Olan Karakter Adı ' + @strNewUserId + ' Olarak Değiştirilmiştir.'
END
ELSE
BEGIN
PRINT @StrNewUserId + ' Karakter Adı Kullanımdadır, Lütfen Başka Bir Karakter Adı Yazınız.'
END
END
COMMIT TRAN
-------------------------------------
Kullanımı
EXEC ACCOUNT_CHAR_NAME_CHANGE 'ESKICHARADI,'YENICHARADI'
-------------------------