Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Primärschlüsselwert nach dem Einfügen der Zeile in SQL Server 2005

Verwenden Sie auf jeden Fall den SCOPE_IDENTITY() wenn Ihre ID Spalte ist eine INT IDENTITY - nur damit bekommst du die richtigen ergebnisse!

Der erste Ansatz mit dem MAX(ID) schlägt schrecklich fehl, wenn Sie mehrere Clients haben, die fast gleichzeitig Zeilen einfügen - Sie erhalten falsche Ergebnisse zurück. Verwenden Sie das nicht!

Der dritte Ansatz kann fehlschlagen, wenn bereits ein anderer Eintrag mit den gleichen Werten für E-Mail und Name existiert.

Auch als Randbemerkung:Sie sollten niemals Verwenden Sie sp_ als Präfix! Dies ist ein von Microsoft reserviertes Präfix und hat Nachteile in Bezug auf die Leistung – verwenden Sie etwas anderes.