Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 6787|Antwort: 1

[Quelle] SQL Server gibt den Primärschlüssel nach der Einfügung zurück

[Link kopieren]
Veröffentlicht am 07.07.2020 11:55:16 | | | |
Anforderungen: Ein gespeichertes Verfahren, wir müssen ein Datenstück in Tabellen A und B einfügen, wobei die Hauptfremdschlüssel-Beziehung zwischen Tabelle A und Tabelle B, die mit Tabelle B verbundenen Spalten die Primärschlüssel von Tabelle A sind, wir müssen nach Abschluss der Einfügung den Primärschlüsselwert von Tabelle A einfügen, den Primärschlüsselwert von Tabelle A erhalten und dann die Daten in Tabelle B einfügen.

Nach dem Einfügen eines Datensatzes möchte man sofort den Rückgabewert des Primärschlüssels im Datenblatt erhalten. Dieser Primärschlüssel wird automatisch generiert.

Erstellen Sie zunächst eine temporäre Tabelle zum Testen, der Code ist wie folgt:


@@IDENTITY

Nachdem eine INSERT-, SELECT-IN- oder Massenkopie-Anweisung abgeschlossen ist, enthält die @@IDENTITY den letzten von dieser Anweisung erzeugten Identifikationswert. Wenn diese Anweisung keine Tabellen mit identifizierten Spalten betrifft, gibt @@IDENTITY NULL zurück. Wenn mehrere Zeilen eingefügt werden, werden mehrere Identifikatorwerte generiert, @@IDENTITY der letzte Identifikatorwert wird zurückgegeben. Wenn diese Anweisung einen oder mehrere Trigger auslöst, die eine Einfügungsoperation ausführen, die einen identifizierten Wert erzeugt, wird das Aufrufen @@IDENTITY unmittelbar nach Ausführung der Anweisung zum letzten vom Trigger generierten Identifikationswert zurückgegeben. Wenn die INSERT- oder SELECT INTO-Anweisung fehlschlägt, die Massenreplikation fehlschlägt oder die Transaktion zurückgesetzt wird, wird der @@IDENTITY-Wert nicht auf die vorherigen Einstellungen zurückgesetzt.

AUSGABE EINGEFÜGT

Für INSERT können Sie auf die eingefügte Tabelle zurückgreifen, um die Eigenschaften der neuen Zeile abzufragen

Der Testcode ist wie folgt:


Die Wirkung ist wie folgt:







Vorhergehend:MSSQL-bedingte Abfrage WO die Bedingung ignoriert
Nächster:Baidu-Kartenpunktaggregation
 Vermieter| Veröffentlicht am 07.07.2020 13:22:22 |
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com