I stedet for rand() , brug newid() , som genberegnes for hver række i resultatet. Den sædvanlige måde er at bruge kontrolsummens modulo. Bemærk, at checksum(newid()) kan producere -2.147.483.648 og forårsage heltalsoverløb på abs() , så vi skal bruge modulo på checksum returværdien, før vi konverterer den til absolut værdi.
UPDATE CattleProds
SET SheepTherapy = abs(checksum(NewId()) % 10000)
WHERE SheepTherapy IS NULL
Dette genererer et tilfældigt tal mellem 0 og 9999.