Kann mir jemand sagen, ob es ein Äquivalent zur SCOPE_IDENTITY()
Verwendung von GUIDs als Primärschlüssel in SQL Server gibt?
Ich möchte nicht zuerst die GUID erstellen und als Variable speichern, da wir sequentielle GUIDs als Primärschlüssel verwenden.
Haben Sie eine Idee, wie Sie den zuletzt eingefügten GUID-Primärschlüssel am besten abrufen können?
OUTPUT
Klausel gibt einen Fehler für jede Tabelle aus, an die ein Einfügetrigger angehängt ist.Es gibt kein SCOPE_IDENTITY () -Äquivalent, wenn GUIDs als Primärschlüssel verwendet werden. Sie können jedoch die OUTPUT-Klausel verwenden, um ein ähnliches Ergebnis zu erzielen. Sie müssen keine Tabellenvariable für die Ausgabe verwenden.
Das obige Beispiel ist nützlich, wenn Sie den Wert von einem .NET-Client lesen möchten. Um den Wert aus .Net zu lesen, verwenden Sie einfach die ExecuteScalar-Methode.
quelle
Sie möchten NEWID () verwenden
Clustered-Index-Probleme gibt es jedoch in der GUID. Lesen Sie auch diese NEWSEQUENTIALID (). Dies sind meine Ideen. Denken Sie nach, bevor Sie die GUID als Primärschlüssel verwenden . :) :)
quelle
quelle
Mit diesem Thread als Ressource habe ich Folgendes zur Verwendung in einem Trigger erstellt:
Könnte jemand anderem helfen, dasselbe zu tun. Neugierig, ob jemand etwas Schlechtes zu sagen hat, wenn dies keine gute Idee ist oder nicht.
quelle