इसके बजाय rand()
, उपयोग करें newid()
, जो परिणाम में प्रत्येक पंक्ति के लिए पुनर्गणना की जाती है। चेकसम के मॉड्यूलो का उपयोग करने का सामान्य तरीका है। ध्यान दें कि checksum(newid())
-2,147,483,648 उत्पन्न कर सकता है और abs()
. पर पूर्णांक अतिप्रवाह का कारण बन सकता है , इसलिए हमें इसे निरपेक्ष मूल्य में बदलने से पहले चेकसम रिटर्न वैल्यू पर मॉड्यूलो का उपयोग करने की आवश्यकता है।
UPDATE CattleProds
SET SheepTherapy = abs(checksum(NewId()) % 10000)
WHERE SheepTherapy IS NULL
यह 0 और 9999 के बीच एक यादृच्छिक संख्या उत्पन्न करता है।