It isn't stupid and it isn't slow, test it before speak^^^.
Why the people must use always and everytime namechange scroll when my script fix it alone

?.
Test it please

.
Jacky919 if you want to be more sure, you can use this, but i repeat, it dont get slow
Code:
CREATE PROCEDURE [dbo].[PRTName]
AS
BEGIN
DECLARE @name1 VARCHAR(50)
DECLARE @name2 VARCHAR(50)
DECLARE @szNAME VARCHAR(50)
DECLARE @szNAME2 VARCHAR(50)
DECLARE @dwCharID INT
DECLARE @dwUserID INT
DECLARE @fakename VARCHAR(50)
SET @fakename = 'put_here_the_fake_name'
SELECT @name1 = szNAME FROM TCHARTABLE WHERE dwCharID = 1
SELECT @name2 = szNAME FROM TCHARTABLE_BACK WHERE dwCharID = 1
if(@name1 != @name2)
BEGIN
DECLARE bGroup_Cursor CURSOR FOR SELECT dwUserID,dwCharID,szNAME FROM TCHARTABLE
OPEN bGroup_Cursor
FETCH NEXT FROM bGroup_Cursor INTO @dwUserID,@dwCharID,@szNAME
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @szNAME2 = szNAME FROM TCHARTABLE_BACK WHERE dwCharID = @dwCharID
IF(@szNAME = @fakename)
BEGIN
UPDATE TCHARTABLE SET szNAME = @szNAME2 WHERE dwCharID = @dwCharID
END
FETCH NEXT FROM bGroup_Cursor INTO @dwUserID,@dwCharID,@szNAME
END
CLOSE bGroup_Cursor
DEALLOCATE bGroup_Cursor
END
END