Esegui il seguente SQL nel 2008 e 2012. Quando viene eseguito nel 2008, il risultato restituito è nel suo corretto ordinamento. Nel 2012, il sortorder non viene mantenuto.SELECT * INTO conserva ORDER BY in SQL Server 2008 ma non 2012
Si tratta di un cambiamento noto? C'è un work-around per il 2012 per mantenere l'ordinamento?
CREATE TABLE #MyTable(Name VARCHAR(50), SortOrder INT)
INSERT INTO #MyTable SELECT 'b', 2 UNION ALL SELECT 'c', 3 UNION ALL SELECT 'a', 1 UNION ALL SELECT 'e', 5 UNION ALL SELECT 'd', 4
SELECT * INTO #Result FROM #MyTable ORDER BY SortOrder
SELECT * FROM #Result
DROP TABLE #MyTable
DROP TABLE #Result
Una tabella in SQL Server non ha mai alcun ordine implicito. Se è necessario un ordine specifico, è ** necessario ** fornire una clausola 'ORDER BY' all'istruzione' SELECT' per ottenerla. –