So verwenden Sie SQL Server Identity Insert

So verwenden Sie SQL Server Identity Insert

Eine Identitätsspalte in SQL Server bezieht sich auf eine Spalte, die einen eindeutigen numerischen Wert für jeden eingefügten Datensatz automatisch generiert. Eine Identitätsspalte ist als Primärschlüssel sehr nützlich, da jeder Wert für jede Zeile eindeutig ist.

In diesem Handbuch verstehen wir, wie die Identitätseigenschaft im SQL -Server verwendet wird und wie wir Werte manuell in eine Identitätsspalte einfügen können.

SQL Server -Identität

Die Identitätseigenschaft in einer Spalte wird durch den anfänglichen Saatgutwert und die Increment -Ganzzahl bestimmt. Die Syntax ist wie gezeigt:

Identität (Samen, Zuwachs);

  1. Der Saatgutparameter definiert den Wert des ersten in der Tabelle eingefügten ersten Datensatzes.
  2. Das Inkrement bestimmt, um welchen Wert aus der vorherigen Zeile hinzugefügt wird.

Wenn die Saat- und Inkrementparameter nicht definiert sind, stand SQL Server standardmäßig Werte von 1, 1.

Die Beispielanweisungen für Abfragen zeigen, wie die SQL Server -Identitätseigenschaft verwendet wird:

erstellteatabasetemporary_db;
usetemporary_db;
createtablesample_table (
IDINTNOTNULLILLIENDE (1,1) Primärschlüssel,
namevarchar (50),
);
InsertIntoSample_table (Name)
Werte ('Abigail Henderson'),
('Peter Miller'),
('Harris Gonzales'),
('Anne Jenkins'),
('Katherine Patterson');
Wählen Sie * von Sample_Table aus;

Wir sollten eine Tabelle wie gezeigt haben:

Beachten Sie, dass die ID -Spalte mit einem Wert von 1 beginnt und die nächste Zeile um 1 erhöht, wie durch die Identitätseigenschaft definiert.

SQL Server -Insentity_insert

Obwohl die Identitätseigenschaft verwendet wird, um eine automatische Generate-Funktion zu definieren, möchten Sie möglicherweise den Wert einer Identitätsspalte manuell bearbeiten.

Hier kommt der Befehl identity_insert ins Spiel.

SQL Server aktivieren Identity_insert

Standardmäßig hindert SQL Server Sie daran, die Werte einer Identitätsspalte manuell zu bearbeiten. Um es zu verwenden, müssen Sie es in Ihrer Zieltabelle aktivieren.

Wenn Sie beispielsweise versuchen, die Werte in der ID -Spalte aus der obigen Beispieltabelle manuell zu bearbeiten, erhalten Sie wie gezeigt einen Fehler:

InsertIntoSample_Table (ID) -Werte (7);

Verwenden Sie die folgende Befehlssyntax, um die Funktion identity_insert ein- oder auszuschalten:

setIdentity_insertTable_nameon/off;

Um beispielsweise Identity_insert für das oben erstellte Sample_Table einzuschalten, können wir dies tun:

setIdentity_insertsample_tableon;

Sobald Sie aktiviert sind, können Sie Werte in die Spalte Identität einfügen:

InsertIntoSample_Table (ID) -Werte (7);
[/c] c
Die Abfrage sollte den Erfolg zurückgeben:
[cc width = "100%" height = "100%" entkommen = "True" thema = "Blackboard" nowrap = "0"]
(1 Reihe betroffen)

HINWEIS: Sie können Identity_insert nur auf einer einzelnen Tabelle pro Sitzung festlegen. Wenn Sie versuchen, in derselben Sitzung in einer anderen Tabelle Identitätsinserction zu aktivieren, gibt der SQL -Server einen Fehler wie gezeigt zurück:

Abschluss

Die SQL Server-Identity-Eigenschaft ermöglicht das Definieren einer Spalte, die numerische Werte automatisch generiert, basierend auf den Saatgut- und Inkrementwerten. Wie in diesem Tutorial erläutert, können Sie jedoch mit der Identity Insert -Funktion die Werte einer Identitätsspalte manuell bearbeiten. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Informationen finden Sie in anderen Linux -Hinweisartikeln.