Les tables SQL représentent non ordonnées ensembles. Y a-t-il quelque chose qui n'est pas clair à ce sujet ?
Lorsque vous SELECT
d'un tableau, alors les résultats sont non ordonnés . La seule exception est lorsque vous utilisez un ORDER BY
dans la requête externe. Donc, incluez un ORDER BY
et les résultats seront dans l'ordre.
MODIFIER :
Vous pouvez éliminer le travail pour le tri en introduisant une clé primaire clusterisée.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Ensuite, lorsque vous faites :
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
La clé primaire en cluster dans #temp
est garanti d'être dans l'ordre spécifié par le order by
. Puis la requête :
select *
from #temp
order by id;
renverra les résultats dans l'ordre, en utilisant l'index clusterisé. Aucun tri ne sera nécessaire.