Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Najbezpieczniejszy sposób na uzyskanie ostatniego identyfikatora rekordu z tabeli

SELECT IDENT_CURRENT('Table')

Możesz użyć jednego z tych przykładów:

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

Ale pierwszy będzie bardziej wydajny, ponieważ nie jest potrzebne skanowanie indeksu (jeśli masz indeks w kolumnie Id).

Drugie rozwiązanie jest równoważne trzeciemu (oba muszą przeskanować tabelę, aby uzyskać maksymalny identyfikator).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl listę wszystkich kolumn tożsamości w bazie danych programu SQL Server:sys.identity_columns

  2. Co to jest ciąg formatujący w programie SQL Server?

  3. Zrozumienie funkcji zabezpieczeń programu SQL Server HAS_Permis_BY_Name i jej przypadków użycia

  4. Funkcja SQL Row_Number() w klauzuli Where

  5. Jak działa OBJECTPROPERTY() w SQL Server