- Der
@@identity
Die Funktion gibt die letzte Identität zurück, die in derselben Sitzung erstellt wurde. - Die
scope_identity()
Die Funktion gibt die letzte Identität zurück, die in derselben Sitzung und im selben Bereich erstellt wurde. - Der
ident_current(name)
gibt die letzte Identität zurück, die für eine bestimmte Tabelle oder Ansicht in einer beliebigen Sitzung erstellt wurde. - Die
identity()
Die Funktion wird nicht verwendet, um eine Identität zu erhalten, sie wird verwendet, um eine Identität in einemselect...into
zu erstellen Abfrage.
Die Sitzung ist die Datenbankverbindung. Der Gültigkeitsbereich ist die aktuelle Abfrage oder die aktuelle gespeicherte Prozedur.
Eine Situation, in der scope_identity()
und die @@identity
Funktionen unterscheiden, ist, wenn Sie einen Trigger auf dem Tisch haben. Wenn Sie eine Abfrage haben, die einen Datensatz einfügt, wodurch der Trigger irgendwo einen weiteren Datensatz einfügt, wird scope_identity()
Die Funktion gibt die von der Abfrage erstellte Identität zurück, während die @@identity
Die Funktion gibt die vom Trigger erstellte Identität zurück.
Normalerweise würden Sie also scope_identity()
verwenden Funktion.