zl程序教程

您现在的位置是:首页 >  其他

当前栏目

不允许在SQL Server视图定义使用ORDER BY子句的解决

2023-04-18 15:55:22 时间

我们遇到不允许在SQL Server视图定义使用ORDER BY子句的问题,应该如何处理呢?下面为您分析了该问题的原因,并提出了解决方法,希望对您能有所帮助。

SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。

因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。但是,如果你需要在视图中指定ORDER BY子句,可以考虑使用以下方法:

  1. USE pubs  
  2. GO  
  3.  
  4. CREATE VIEW AuthorsByName  
  5. AS  
  6. SELECT TOP 100 PERCENT *  
  7. FROM authors   
  8. ORDER BY au_lname, au_fname  
  9. GO  

Microsoft在SQL Server 7.0中引入的TOP结构在同ORDER BY子句结合使用时是非常有用的。只有在同TOP关键词结合使用时,SQL Server才支持在视图中使用ORDER BY子句。

注意:TOP关键词是SQL Server对ANSI SQL-92标准的扩展。
 

 

 

【编辑推荐】

SQL Server排序规则的应用

带您了解SQL Server标识列

SQL Server UPDATE语句的用法

SQL Server添加列及删除列

SQL SERVER TOC分页的实现方法