SQL-Tabellen repräsentieren ungeordnet setzt. Ist daran etwas unklar?
Wenn Sie SELECT
aus einer Tabelle, dann sind die Ergebnisse ungeordnet . Die einzige Ausnahme ist, wenn Sie einen ORDER BY
verwenden in der äußeren Abfrage. Fügen Sie also einen ORDER BY
hinzu und die Ergebnisse werden in Ordnung sein.
BEARBEITEN:
Sie können die Arbeit eliminieren für die Sortierung durch Einführung eines geclusterten Primärschlüssels.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Wenn Sie dann Folgendes tun:
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
Der gruppierte Primärschlüssel in #temp
garantiert in der durch order by
angegebenen Reihenfolge . Dann die Abfrage:
select *
from #temp
order by id;
gibt die Ergebnisse der Reihe nach zurück, wobei der gruppierte Index verwendet wird. Es wird keine Sortierung benötigt.