Heim > Datenbank > MySQL-Tutorial > Wie wähle ich zwischen @@IDENTITY, SCOPE_IDENTITY() und OUTPUT zum Abrufen der letzten Identitätswerte?

Wie wähle ich zwischen @@IDENTITY, SCOPE_IDENTITY() und OUTPUT zum Abrufen der letzten Identitätswerte?

DDD
Freigeben: 2024-12-29 18:03:10
Original
339 Leute haben es durchsucht

How to Choose Between @@IDENTITY, SCOPE_IDENTITY(), and OUTPUT for Retrieving Last Identity Values?

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:

  • @@IDENTITY: Geeignet zum Abrufen des letzten Identitätswerts in einer bestimmten Sitzung, unabhängig vom Bereich.
  • SCOPE_IDENTITY(): Wird verwendet, wenn es wichtig ist, den Identitätswert innerhalb desselben Bereichs wie die Einfügeanweisung abzurufen.
  • OUTPUT-Methode: Ideal, wenn Sie eine Tabelle mit eingefügten Zeilen einschließlich ihrer Identität abrufen müssen Werte.

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage