mettre à jour des nombres randoms pour les 100 premières lignes en sql?

J'ai besoin de mettre à jour les nombres randoms pour les 100 premières lignes (un champ) en sql. nombre random devrait être inférieur à 100. comment faire cela?

En SQL 2008

update top (100) MyTable set MyField = cast(cast(crypt_gen_random(1) as int) * 100.0 / 256 as int) 

Je crois que la même chose fonctionnera dans SQL 2005.

[Modifier]

Si cela ne fonctionne pas dans SQL 2005, vous pouvez le faire:

 update top (100) MyTable set MyField = abs(cast(newid() as binary(6)) % 100) 

Assez sûr que c'est ok dans 2k5;

 --add rows numbers ;with ROWS(id, fld, rownum) as ( select id, fld, row_number() over (order by id asc) --this order defines your "top" from tablename ) update tablename set fld = 1 + abs(checksum(newid())) % 100 --dont use rand() as it will give the same value from ROWS inner join tablename on tablename.id = ROWS.id where rownum between 1 and 100 --limit to 100 rows