解決SQL Server 2005建View時不能正常排序(Order by)的問題

在SQL Server 2005中建View時如果你是用介面幫你產生的
應該會是像下面的指令碼一樣

SELECT     TOP (100) PERCENT MsgText
FROM         dbo.RouterOS_All
ORDER BY MsgDateTime DESC


當View建好了,也存檔了之後,再把View開起來
你會發現其實這個View並沒有依照我們的意思Order by
而解決問題的方法就是不要使用PERCENT,改用一個數值很大的值

SELECT     TOP (2147483647) MsgText
FROM         dbo.RouterOS_All
ORDER BY MsgDateTime DESC


這樣子就正常了。至於這是不是個Bug,我想就只能問MS了
測試環境: SQL Server 2005 Express with SP3 Windows 2008 Std with SP1 x86
參考資料: SQL Server 2005 Ordered View and Inline Function Problems

新增評論

Loading