Alih-alih rand() , gunakan newid() , yang dihitung ulang untuk setiap baris dalam hasil. Cara yang biasa adalah dengan menggunakan modulo dari checksum. Perhatikan bahwa checksum(newid()) dapat menghasilkan -2.147.483.648 dan menyebabkan integer overflow pada abs() , jadi kita perlu menggunakan modulo pada nilai kembalian checksum sebelum mengubahnya menjadi nilai absolut.
UPDATE CattleProds
SET SheepTherapy = abs(checksum(NewId()) % 10000)
WHERE SheepTherapy IS NULL
Ini menghasilkan angka acak antara 0 dan 9999.