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