Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक यादृच्छिक संख्या उत्पन्न करें जो sql सर्वर में किसी तालिका में नहीं है

एक और विकल्प, मुझे हमेशा पसंद आया है NEWID() यादृच्छिक क्रम के लिए, और क्रॉस जॉइन बहुत कुशलता से कई पंक्तियाँ बनाते हैं:

;with cte AS (SELECT 1 n UNION ALL SELECT 1)
     ,cte2 AS (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY a.n) n
               FROM cte a,cte b,cte c,cte d, cte e, cte f, cte g)
SELECT TOP 1 n
FROM cte2 a
WHERE NOT EXISTS (SELECT 1
                  FROM randomNums b
                  WHERE a.n = b.num)
ORDER BY NEWID()

डेमो:SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में कर्सर से बचने वाली तालिकाओं की प्रतिलिपि कैसे करें?

  2. फ़ाइल नाम पैरामीटर के साथ बल्क इंसर्ट

  3. क्या क्लस्टर इंडेक्स अद्वितीय होना चाहिए?

  4. SQL सर्वर एक्सप्रेस की सीमाएं

  5. प्राथमिक कुंजी के रूप में GUID का उपयोग करने के लिए, विशेष रूप से प्रदर्शन के संबंध में सर्वोत्तम अभ्यास क्या हैं?