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

Gibt Zeilen genau in der Reihenfolge zurück, in der sie eingefügt wurden

Eine select Abfrage ohne order by tut nicht Abrufen der Zeilen in einer bestimmten Reihenfolge. Sie müssen eine order by haben um eine Bestellung zu erhalten.

SQL Server verfügt über keine Standardmethode zum Abrufen nach Einfügereihenfolge. Sie können es tun, wenn Sie die Informationen in der Zeile haben. Der beste Weg ist eine Primärschlüssel-Identitätsspalte:

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

Eine solche Spalte wird inkrementiert, wenn jede Zeile eingefügt wird.

Sie können auch ein CreatedAt haben Spalte:

CreatedAt datetime default getdate()

Dies könnte jedoch Duplikate für gleichzeitige Einfügungen haben.

Der entscheidende Punkt ist jedoch, dass ein select ohne order by -Klausel gibt einen ungeordneten Satz von Zeilen zurück.