Home Forums SQL Server 2008 T-SQL (SS2K8) Efficient way to get the lowest unused value of a nvarchar field being used as a primary key RE: Efficient way to get the lowest unused value of a nvarchar field being used as a primary key

  • FYI,

    before deciding its not worth it this is the sql I was playing with. It works but i really didn't want to show it to anyone a I think its a bad solution :ermm:

    DECLARE @ID varchar(10)

    WHILE @1<=126

    BEGIN

    WHILE @2<=126

    BEGIN

    WHILE @3<=126

    BEGIN

    WHILE @4<=126

    BEGIN

    WHILE @5<=126

    BEGIN

    SELECT @ID = 'CREW' + ltrim(char(@1)) + ltrim(CHAR(@2)) + ltrim(char(@3)) + ltrim(CHAR(@4)) + ltrim(char(@5))

    IF (SELECT COUNT(CrewID) FROM Crews WHERE CrewID =@ID)=0

    BEGIN

    GOTO ADDME;

    END

    SELECT @5=@5+1

    END

    SELECT @5=32

    SELECT @4=@4+1

    END

    SELECT @4=32

    SELECT @3=@3+1

    END

    SELECT @3=32

    SELECT @2=@2+1

    END

    SELECT @2=32

    SELECT @1=@1+1

    END

    ADDME:

    SELECT @ID