• print '-- Start of use_value.full_name_txt : '+convert(varchar(30),getdate(),126)

    --

    -- Get the max from the use_value table.

    --

    declare @Max_number int

    select @max_number = count(*) from use_value

    print 'number use_value, full_name_txt :'+convert(varchar(10), @max_number)

    ;

    WITH

    T AS (SELECT *, convert(integer,(ROUND(rand(checksum(newid()))* @max_number,0,1))) AS RND2 FROM Target)

    UPDATE T SET full_name_txt = b.column1

    FROM T

    JOIN use_value B

    ON rnd2 = B.number

    print '-- END of use_value.full_name_txt : '+convert(varchar(30),getdate(),126)

    This code is now allready running for over 10 minutes. (not finished yet) (still running 20 minutes)(aborted it after 27 minutes)

    The code with the extra RND field run for less than 2 minutes.

    Ben