-- create table variable for testingDECLARE @usertest TABLE(userid VARCHAR(50))DECLARE @id VARCHAR(50)DECLARE @newid VARCHAR(50)DECLARE @count INT-- test dataINSERT INTO @usertest ( userid ) SELECT 'user' UNION ALL SELECT 'user1' UNION ALL SELECT 'user2'-- return existing test dataSELECT * FROM @usertest SET @id = 'user'SET @count = 1SET @newid = @id-- get next idWHILE EXISTS (SELECT 1 FROM @usertest WHERE userid = @newid) BEGIN SET @newid = @id + CONVERT(VARCHAR(40), @count) SET @count = @count + 1 END -- got newest id insert itINSERT INTO @usertest ( userid ) VALUES ( @newid ) SELECT * FROM @usertest