問(wèn):為什么SQL Server不允許在視圖定義使用ORDER BY子句?
答: SQL Server之所以不允許在視圖定義中使用ORDER BY子句是為了遵守ANSI SQL-92標(biāo)準(zhǔn)。因?yàn)閷?duì)該標(biāo)準(zhǔn)的原理分析需要對(duì)結(jié)構(gòu)化查詢語(yǔ)言(SQL)的底層結(jié)構(gòu)和它所基于的數(shù)學(xué)理論進(jìn)行討論,我們不能在這里對(duì)它進(jìn)行充分的解釋。但是,如果你需要在視圖中指定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é)合使用時(shí)是非常有用的。只有在同TOP關(guān)鍵詞結(jié)合使用時(shí),SQL Server才支持在視圖中使用ORDER BY子句。
注意:TOP關(guān)鍵詞是SQL Server對(duì)ANSI SQL-92標(biāo)準(zhǔn)的擴(kuò)展。
還可以看看
其他文章,謝謝您的閱讀。
網(wǎng)站申明:系本文編輯轉(zhuǎn)載,來(lái)源于網(wǎng)絡(luò),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),所有權(quán)歸屬原作者。如內(nèi)容、圖片有任何版權(quán)問(wèn)題,請(qǐng)
聯(lián)系我們刪除。