Le tabelle SQL rappresentano non ordinate imposta. C'è qualcosa di poco chiaro in merito?
Quando SELECT
da una tabella, i risultati sono non ordinati . L'unica eccezione è quando utilizzi un ORDER BY
nella query esterna. Quindi, includi un ORDER BY
e i risultati saranno in ordine.
MODIFICA:
Puoi eliminare il lavoro per l'ordinamento introducendo una chiave primaria in cluster.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Poi quando lo fai:
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
La chiave primaria raggruppata in #temp
è garantito che si trovi nell'ordine specificato da order by
. Quindi la query:
select *
from #temp
order by id;
restituirà i risultati in ordine, utilizzando l'indice cluster. Non sarà necessario alcun ordinamento.