Heim >Datenbank >MySQL-Tutorial >Wie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel von SQL Server abrufen?

Wie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel von SQL Server abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-17 12:26:10204Durchsuche

How Can I Retrieve Identity Values After an INSERT Statement Using SQL Server's OUTPUT Clause?

Abrufen neu generierter Identitätswerte mit der OUTPUT-Klausel von SQL Server

Beim Einfügen von Daten in eine SQL Server-Datenbank benötigen Sie häufig den neu generierten Identitätswert für die eingefügte Zeile. Die OUTPUT-Klausel bietet eine saubere und effiziente Möglichkeit, dies zu erreichen. In diesem Artikel werden zwei Hauptmethoden untersucht.

Methode 1: Ausgabe auf Konsole oder Verwendung von ExecuteScalar()

Zum schnellen Debuggen oder Abrufen des Identitätswerts in einem Nicht-T-SQL-Kontext (wie einer .NET-Anwendung) kann die OUTPUT-Klausel den Wert direkt an die SSMS-Konsole senden oder mit ExecuteScalar() erfasst werden.

<code class="language-sql">INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')</code>

In .NET:

<code class="language-csharp">int newId = command.ExecuteScalar();</code>

Methode 2: Ausgabe in Tabellenvariable oder temporäre Tabelle

Für Szenarien, die den Identitätswert innerhalb einer gespeicherten T-SQL-Prozedur oder eines Stapels erfordern, bietet eine Tabellenvariable oder eine temporäre Tabelle eine leistungsstarke Lösung. Die OUTPUT-Klausel leitet den eingefügten Identitätswert in diese Tabelle und ermöglicht so die weitere Verarbeitung innerhalb der T-SQL-Umgebung.

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT)

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

-- Now you can use the ID from @OutputTbl
SELECT ID FROM @OutputTbl;</code>

Diese Techniken ermöglichen es Entwicklern, generierte Identitätswerte nahtlos aus INSERT-Anweisungen abzurufen, was das Debuggen erleichtert, Werte an Anwendungen zurückgibt und komplexe T-SQL-Workflows ermöglicht.

Das obige ist der detaillierte Inhalt vonWie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel von SQL Server abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn