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

टी-एसक्यूएल में नए अद्वितीय यादृच्छिक संख्याओं की सूची बनाएं

आप परिकलित कोड के साथ सीटीई का उपयोग कर सकते हैं, distinct और जांचें कि क्या कोड आपकी तालिका में पहले से मौजूद है:

;with cte_stream as (
    select
        floor(cast(crypt_gen_random(4) as bigint) / 4294967296 * ((@max - @min) + 1)) + @min as Code
    from sys.all_objects as s1 
        cross join sys.all_objects as s2;
)
insert into [Codes]
select distinct top (@n) s.Code
from cte_stream as s
where not exists (select * from [Codes] as c where c.Code = s.Code)

तो distinct नए कोड के बीच टकराव से बचने में आपकी मदद करता है और exists [Codes] . में पहले से मौजूद कोड के साथ टकराव से बचने में आपकी मदद करता है तालिका, और order by newid() आपको नए कोड से यादृच्छिक मान प्राप्त करने में मदद करता है



  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 Server 2012 पर SQL Server 2014 का बैकअप पुनर्स्थापित करना संभव है?

  2. मैं संग्रहीत कार्यविधि में संदर्भित सभी स्तंभों की सूची कैसे प्राप्त कर सकता हूं?

  3. चर के रूप में एसएसआईएस फ़ोरैच लूप फ़ोल्डर

  4. कई इंडेक्स वाली टेबल के लिए स्लो बल्क इंसर्ट

  5. थोक डालने के लिए टी-एसक्यूएल में चर कैसे डालें?