Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Maneira mais segura de obter o último ID de registro de uma tabela

SELECT IDENT_CURRENT('Table')

Você pode usar um destes exemplos:
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

Mas o primeiro será mais eficiente porque nenhuma verificação de índice é necessária (se você tiver índice na coluna Id).

A segunda solução é equivalente à terceira (ambos precisam escanear a tabela para obter o id máximo).