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

अद्वितीय सीरियल नंबर उत्पन्न करने के लिए crypt_gen_random का उपयोग करना

मैंने नीचे के रूप में अद्वितीय सीरियल नंबर डालने के लिए कोड को संशोधित किया है।

declare @i int = 4000
while @i>0  
begin
declare @sLength tinyint
declare @randomString varchar(50)
declare @counter tinyint
declare @nextChar char(1)
declare @rnd as float
declare @ExcludeNumbers varchar(50)
DECLARE @XML XML
set @ExcludeNumbers='A,B,C,D,E,F,G,H,1,2,3'
SET @XML = CAST('<i>' + REPLACE(@ExcludeNumbers, ',', '</i><i>') + '</i>' AS XML)

set @sLength = 10
set @counter = 1
set @randomString = ''

while @counter <= @sLength
begin
    -- crypt_gen_random produces a random number. We need a random
        -- float.
    select @rnd = cast(cast(cast(crypt_gen_random(2) AS int) AS float) /    
         65535  as float)  
    select @nextChar = char(48 + convert(int, (122-48+1) * @rnd))
    if ascii(@nextChar)   in (select ASCII((x.i.value('.', 'VARCHAR(MAX)'))) FROM  @XML.nodes('i') x(i))
    begin
        select @randomString = @randomString + @nextChar
        set @counter = @counter + 1
    end
 end
 insert into serialNo values( @randomString);   
 select @i = @i-1 
 End



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चयन सूची में कहीं और एक उपनाम का संदर्भ लें

  2. SQL सर्वर में OR स्टेटमेंट के लिए उपयोग करने के लिए सर्वश्रेष्ठ इंडेक्स (एस)

  3. Sql Server 2008 में गतिरोध समस्या निवारण

  4. एसक्यूएल सर्वर ऑलवेजऑन (उपलब्धता समूह) आर्किटेक्चर और स्टेप बाय स्टेप इंस्टालेशन -1

  5. एसक्यूएल सर्वर परिवर्तनीय कॉलम नाम?