As tabelas SQL representam não ordenadas conjuntos. Há algo obscuro sobre isso?
Quando você
SELECT
de uma tabela, os resultados são não ordenados . A única exceção é quando você usa um ORDER BY
na consulta externa. Portanto, inclua um ORDER BY
e os resultados estarão em ordem. EDITAR:
Você pode eliminar o trabalho para a classificação introduzindo uma chave primária agrupada.
create table #temp (
Id int identity(1,1) primary key clustered,
SKU varchar(10),
QtyRec int,
Expiry date,
Rec date
);
Então quando você faz:
insert into #temp(SKU, QtyRec, Expiry, Rec)
select SKU, QtyRec, Expiry, Rec
from @Data
order by id;
A chave primária clusterizada em
#temp
tem a garantia de estar na ordem especificada pelo order by
. Então a consulta:select *
from #temp
order by id;
retornará os resultados em ordem, usando o índice clusterizado. Nenhum tipo será necessário.