問:為什么SQL Server不允許在視圖定義使用ORDER BY子句?
答: SQL Server之所以不允許在視圖定義中使用ORDER BY子句是為了遵守ANSI SQL-92標準。因為對該標準的原理分析需要對結(jié)構(gòu)化查詢語言(SQL)的底層結(jié)構(gòu)和它所基于的數(shù)學(xué)理論進行討論,我們不能在這里對它進行充分的解釋。但是,如果你需要在視圖中指定ORDER BY子句,可以考慮使用以下方法:
USE pubs
GO
CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors
ORDER BY au_lname, au_fname
GO
Microsoft在SQL Server 7.0中引入的TOP結(jié)構(gòu)在同ORDER BY子句結(jié)合使用時是非常有用的。只有在同TOP關(guān)鍵詞結(jié)合使用時,SQL Server才支持在視圖中使用ORDER BY子句。
注意:TOP關(guān)鍵詞是SQL Server對ANSI SQL-92標準的擴展。
還可以看看
其他文章,謝謝您的閱讀。
網(wǎng)站申明:系本文編輯轉(zhuǎn)載,來源于網(wǎng)絡(luò),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,所有權(quán)歸屬原作者。如內(nèi)容、圖片有任何版權(quán)問題,請
聯(lián)系我們刪除。