• try this

    DECLARE @RandomValues TABLE

    (

    RandVal int

    )

    DECLARE @Tbl TABLE

    (

    Id int identity,

    RandVal int

    )

    INSERT INTO @RandomValues

    VALUES (1)

    INSERT INTO @RandomValues

    VALUES (4)

    INSERT INTO @RandomValues

    VALUES (6)

    INSERT INTO @RandomValues

    VALUES (10)

    INSERT INTO @Tbl (RandVal)

    VALUES (NULL)

    INSERT INTO @Tbl (RandVal)

    VALUES (NULL)

    INSERT INTO @Tbl (RandVal)

    VALUES (NULL)

    INSERT INTO @Tbl (RandVal)

    VALUES (NULL)

    UPDATE @Tbl

    SET RandVal =

    (

    SELECT TOP 1 T1.RandVal

    FROM @RandomValues As T1

    CROSS JOIN @Tbl As T2

    WHERE T2.ID = T3.Id

    ORDER BY NEWID()

    )

    FROM @Tbl As T3

    SELECT * FROM @Tbl