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