sql >> Database teknologi >  >> RDS >> Sqlserver

Returner rækker i den nøjagtige rækkefølge, de blev indsat

Et select forespørgsel uden order by gør ikke hente rækkerne i en bestemt rækkefølge. Du skal have en order by for at få en ordre.

SQL Server har ikke nogen standardmetode til at hente efter indsætningsrækkefølge. Du kan gøre det, hvis du har oplysningerne i rækken. Den bedste måde er en primær nøgleidentitetskolonne:

TableId int identity(1, 1) not null primary key

En sådan kolonne øges, efterhånden som hver række indsættes.

Du kan også have en CreatedAt kolonne:

CreatedAt datetime default getdate()

Dette kan dog have dubletter for samtidige indsættelser.

Nøglepunktet er dog, at en select uden order by klausul returnerer et uordnet sæt rækker.



  1. Streaming af databaserede billeder ved hjælp af HttpHandler

  2. Er der en bedre Oracle-operatør til at udføre nul-sikker ligestillingskontrol?

  3. Opdater forespørgsel for at opdatere rækker i MySQL

  4. Kører kun PostgreSQL i hukommelsen