Letzte Identität abrufen: @@IDENTITY, SCOPE_IDENTITY() und OUTPUT
Das Einfügen neuer Datensätze in eine Tabelle erfordert häufig das Abrufen der zuletzt generierten Identitätswert für die Spalte. Zu diesem Zweck gibt es verschiedene Methoden, darunter @@IDENTITY, SCOPE_IDENTITY() und OUTPUT.
@@IDENTITY
@@IDENTITY ruft den zuletzt erzeugten Identitätswert ab die aktuelle Verbindung, unabhängig von der Tabelle oder dem Bereich. Es gibt den durch die letzte Einfügung generierten Identitätswert zurück, auch wenn dieser durch einen anderen Vorgang ausgelöst wurde. Allerdings ist diese Methode nicht bereichssicher.
SCOPE_IDENTITY()
SCOPE_IDENTITY() ist hingegen bereichssicher. Es gibt den letzten Identitätswert zurück, der im aktuellen Gültigkeitsbereich der Anweisung generiert wurde. Das heißt, wenn ein Trigger einen Datensatz einfügt und einen Identitätswert generiert, gibt SCOPE_IDENTITY() diesen Wert nicht zurück, es sei denn, er wurde von derselben Anweisung generiert, die SCOPE_IDENTITY() aufgerufen hat.
OUTPUT-Methode
Die OUTPUT-Methode ist eine weitere Option zum Abrufen des Identitätswerts. Es gibt eine Tabelle mit eingefügten Zeilen zurück, einschließlich der beim Einfügen generierten Identitätswerte. Diese Methode ist außerdem bereichssicher, da sie nur die Identitätswerte für die von der aktuellen Anweisung eingefügten Zeilen abruft.
Entscheidung der besten Methode
Die Wahl der Methode Das Abrufen des letzten Identitätswerts hängt vom jeweiligen Szenario ab:
Das obige ist der detaillierte Inhalt vonWie wähle ich zwischen @@IDENTITY, SCOPE_IDENTITY() und OUTPUT zum Abrufen der letzten Identitätswerte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!