Problem: Wie können wir den automatisch generierten Schlüsselwert (wie eine „ID“ aus einer Identitätsspalte) nach einem INSERT
Vorgang in SQL Server 2008 erhalten?
Lösung: SQL Server bietet eine unkomplizierte Methode mit der OUTPUT
-Klausel:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES('bob');</code>
Die OUTPUT
-Klausel steuert die Rückgabe angegebener Spalten nach Abschluss von INSERT
. Hier wählen wir die Spalte ID
aus der Pseudotabelle Inserted
aus, die die Daten der neu eingefügten Zeile enthält.
Erklärung:
Beim Einfügen von Daten in eine Tabelle mit einer Identitätsspalte weist die Datenbank einen neuen, eindeutigen Wert zu. Die OUTPUT
-Klausel ruft diesen generierten Wert effizient gleichzeitig mit der INSERT
-Klausel ab, sodass keine separate SELECT
-Anweisung erforderlich ist.
Wichtiger Hinweis: Die OUTPUT
-Klausel ist nicht auf Identitätsspalten beschränkt; Es kann auch andere Nicht-Identitätsspalten (einschließlich GUIDs) abrufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich Identitätswerte nach einem INSERT in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!