EDIT:
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