Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Le moyen le plus sûr d'obtenir le dernier ID d'enregistrement d'une table

SELECT IDENT_CURRENT('Table')

Vous pouvez utiliser l'un de ces exemples :

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

Mais le premier sera plus efficace car aucun parcours d'index n'est nécessaire (si vous avez un index sur la colonne Id).

La deuxième solution est équivalente à la troisième (les deux doivent parcourir la table pour obtenir l'identifiant maximum).