SQL SERVER 2000:用隨機數據隨着NEWID()更新表無法正常工作
我有測試數據(10多萬行)的表,我想用一些隨機數據來更新從另一個表中的列值從另一張桌子。據this question,這就是我想:
UPDATE testdata
SET type = (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID()))
-- or even
UPDATE testdata
SET type = (SELECT TOP 1 id FROM testtypes ORDER BY NEWID())
然而,「類型」字段仍與所有行的值相同;任何想法我做錯了什麼?
[編輯] 我希望這個查詢爲每一行返回一個不同的值,但它並不:
SELECT testdata.id, (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID())) type
FROM testdata
-- however seeding a rand value works
SELECT testdata.id, (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID()) + RAND(testdata.id)) type
FROM testdata