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

Der sicherste Weg, um die letzte Datensatz-ID aus einer Tabelle zu erhalten

SELECT IDENT_CURRENT('Table')

Sie können eines dieser Beispiele verwenden:

SELECT * FROM Table 
WHERE ID = (
    SELECT IDENT_CURRENT('Table'))

SELECT * FROM Table
WHERE ID = (
    SELECT MAX(ID) FROM Table)

SELECT TOP 1 * FROM Table
ORDER BY ID DESC

Aber der erste wird effizienter sein, da kein Index-Scan benötigt wird (wenn Sie einen Index in der ID-Spalte haben).

Die zweite Lösung entspricht der dritten (beide müssen die Tabelle scannen, um die maximale ID zu erhalten).