SQL 서버 2000 작동하지 않습니다 내가 테스트 데이터 (약 100,000 행)와 테이블이업데이트 테이블
을, 나는 어떤 임의의 데이터를 다른 테이블에서 열 값을 업데이트 할 다른 테이블에서. 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