TSQL Generieren 5 Zeichen string der Länge, alle Ziffern, [0-9], die nicht bereits in der Datenbank

Was ist der beste Weg, dies zu tun?

Brauche ich, um zu generieren, eine 5-stellige Zeichenfolge mit der Länge, wo alle Zeichen numerisch sind. Ich muss jedoch dazu in der Lage " x " Höhe der Zeit (user-variable) und speichern Sie diese zufällige Zeichenfolgen in einer Datenbank. Desweiteren kann ich nicht erzeugen die gleiche saite doppelt. Die alten Saiten entfernt werden, nach 6 Monaten.

Pseudo-code

DECLARE @intIterator INT,
 @intMax

SET @intIterator = 1
SET @intMax = 5 (number of strings to generate)

WHILE @intIterator <= @intMax
 BEGIN

  -- GENERATE RANDOM STRING OF 5 NUMERIC DIGITS 
   ???

  -- INSERT INTO DB IF DOESN'T ALREADY EXIST 
  INSERT INTO TSTRINGS
  SELECT @RANDOMSTRING

  IF @@ERROR = 0
    SET @intIterator = @intIterator + 1

 END

Ich weiß, dies ist wahrscheinlich nicht der beste Weg, es zu tun, so beraten wird sehr geschätzt. Aber wirklich auf der Suche nach Ideen, wie zu generieren der 5 numerische Zeichenfolgen der Länge.

  • Einen bestimmten Grund tun Sie dies ganz in TSQL?
  • Andere als die Tatsache, brauche ich zum speichern der 5-stellige numerische Zeichenfolgen in einer Datenbank? Ich denke mal nicht.
InformationsquelleAutor Brad | 2009-10-06
Schreibe einen Kommentar