Wie automatisch ID in SQL wie UID12345678 generieren?

8

Ich möchte automatisch eine eindeutige ID mit einem definierten Code erzeugen.

ex:

%Vor%

Ich habe den uniqueidentifier -Datentyp ausprobiert, aber es erzeugt eine ID, die für eine Benutzer-ID nicht geeignet ist.

Hat jemand Vorschläge?

    
Nishantha 19.12.2013, 05:45
quelle

4 Antworten

23

Die einzige brauchbare Lösung ist meiner Meinung nach

  • Eine ID INT IDENTITY(1,1) -Spalte, damit SQL Server die automatische Erhöhung Ihres numerischen Werts übernimmt
  • eine berechnete, beibehaltene -Spalte, um diesen numerischen Wert in den benötigten Wert zu konvertieren

Versuchen Sie es also:

%Vor%

Nun jedes Mal, wenn Sie eine Zeile in tblUsers einfügen, ohne Werte für ID oder UserID :

anzugeben %Vor%

dann SQL Server wird automatisch und sicher erhöhen Sie Ihre ID -Wert und UserID wird Werte wie UID00000001 , UID00000002 , ...... und so weiter - automatisch, sicher, zuverlässig, keine Duplikate.

Aktualisieren: Die Spalte UserID ist berechnet - aber sie hat immer noch KURS hat einen -Datentyp , wie ein kurzer Blick in den Object Explorer zeigt:

    
marc_s 19.12.2013, 05:55
quelle
2
%Vor%

marc_s Antwort-Snap

    
Nishantha 19.12.2013 06:34
quelle
0

Wenn Sie die ID manuell hinzufügen möchten , können Sie

verwenden

PadLeft () oder String.Format () -Methode.

%Vor%

Dann können Sie das mit UID anhängen.

    
Nishantha 26.09.2014 12:01
quelle
-1

'- & gt; Tabellenerstellung create Tabelle emp (eno int identity (100001,1), ename varchar (50))

- & gt; Werte einfügen Einfügen in emp (ename) -Werte ('narendra'), ('ajay'), ('anil'), ('raju')

- & gt; wählen Sie die Tabelle aus Wählen Sie * aus emp - & gt; Ausgabe eno ename 100001 Narendra 100002 Rama 100003 ajay 100004 anil 100005 raju '

    
narendra 07.01.2017 06:14
quelle