Zugriff auf automatisch generierte Schlüssel in SQL Server
Beim Arbeiten mit SQL Server-Tabellen, die automatisch generierte ID-Spalten enthalten, ist das effiziente Abrufen der neu generierten Werte von entscheidender Bedeutung. Dieses Handbuch demonstriert eine einfache und effektive Methode unter Verwendung der integrierten Funktionen von SQL Server.
Die Lösung:
Die INSERT ... OUTPUT
-Anweisung bietet eine prägnante Möglichkeit, eine Zeile einzufügen und gleichzeitig den/die generierten Schlüssel in einem einzigen Vorgang zu erfassen. So funktioniert es:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES ('bob');</code>
In diesem Beispiel stellt table
Ihre Tabelle mit einer ID
-Spalte dar, die als Identitätsspalte konfiguriert ist oder einen Datentyp verwendet, der die automatische Wertgenerierung unterstützt (wie GUID). Die OUTPUT
-Klausel leitet die Spalten der neu eingefügten Zeile, einschließlich des generierten ID
, an einen temporären Ergebnissatz weiter.
Der Inserted
-Alias bietet Zugriff auf diesen temporären Ergebnissatz und ermöglicht den Abruf des ID
mit Inserted.ID
.
Praktische Anwendung:
Um das generierte ID
in einer Variablen zu speichern, verwenden Sie Folgendes:
<code class="language-sql">DECLARE @id INT; INSERT INTO table (name) OUTPUT @id = Inserted.ID VALUES ('bob'); SELECT @id;</code>
Dieser Ansatz ist nicht auf Identitätsspalten beschränkt; es funktioniert auch mit anderen automatisch generierten Spalten, wie z. B. GUIDs. Zum Beispiel:
<code class="language-sql">INSERT INTO table (guid) OUTPUT Inserted.guid VALUES (NEWID());</code>
Dadurch wird eine Zeile mit einer GUID-Spalte eingefügt und sofort der generierte GUID-Wert abgerufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte Schlüssel in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!