Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit der Eigenschaft SQL Server IDENTITY
einer Tabelle eine Identitätsspalte hinzufügen.
Einführung in die SQL Server-Identitätsspalte
Um eine Identitätsspalte für eine Tabelle zu erstellen, verwenden Sie die Eigenschaft IDENTITY
wie folgt:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax:
- Die
seed
ist der Wert der ersten in die Tabelle geladenen Zeile., - Die
increment
ist der inkrementelle Wert, der dem Identitätswert der vorherigen Zeile hinzugefügt wurde.
Der Standardwert von seed
und increment
ist 1 dh (1,1). Dies bedeutet, dass die erste Zeile, die in die Tabelle geladen wurde, den Wert eins hat, die zweite Zeile den Wert 2 usw.,
Angenommen, Sie möchten, dass der Wert der Identitätsspalte der ersten Zeile 10 und der inkrementelle Wert 10 ist, verwenden Sie die folgende Syntax:
Code language: SQL (Structured Query Language) (sql)
Beachten Sie, dass Sie mit SQL Server nur eine Identitätsspalte pro Tabelle haben können.,NTITY example
Erstellen wir ein neues Schema mit dem Namen hr
zum Üben:
Code language: SQL (Structured Query Language) (sql)
Die folgende Anweisung erstellt eine neue Tabelle mit der Eigenschaft IDENTITY
für die Spalte persönliche Identifikationsnummer:
Fügen Sie zunächst eine neue Zeile in die person
tabelle:
Die Ausgabe ist wie folgt:
Wie aus der Ausgabe deutlich hervorgeht, wurde die erste Zeile mit dem Wert eins in die Spalte person_id
geladen.,
Zweite, fügen Sie eine weitere Zeile in die person
tabelle:
Hier ist die Ausgabe:
Wie Sie deutlich aus der Ausgabe sehen können, hat die zweite Zeile den Wert von zwei in der person_id
Spalte.
Wiederverwendung von Identitätswerten
SQL Server verwendet die Identitätswerte nicht wieder. Wenn Sie eine Zeile in die Identitätsspalte einfügen und die insert-Anweisung fehlgeschlagen oder zurückgesetzt ist, geht der Identitätswert verloren und wird nicht erneut generiert., Dies führt zu Lücken in der Spalte Identität.
Betrachten Sie das folgende Beispiel.
Erstellen Sie zunächst zwei weitere Tabellen im hr-Schema mit den Namen position
und person_position
:
Zweitens fügen Sie eine neue Person ein und weisen Sie dieser neuen Person eine Position zu, indem Sie eine neue Zeile in die person_position
– Tabelle einfügen:
In diesem Beispiel wurde die erste insert-Anweisung erfolgreich ausgeführt. Der zweite war jedoch fehlgeschlagen, da in der Tabelle position
keine Position mit der ID eins vorhanden war. Aufgrund des Fehlers wurde die gesamte Transaktion zurückgesetzt.,
Da die erste INSERT
– Anweisung den Identitätswert von drei verbrauchte und die Transaktion zurückgesetzt wurde, wird der nächste Identitätswert vier sein, wie in der folgenden Anweisung gezeigt:
Die Ausgabe der Anweisung lautet:
In diesem Tutorial haben Sie gelernt, wie Sie mit der Eigenschaft SQL Server IDENTITY
eine Identitätsspalte für eine Tabelle erstellen.