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:
|