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

数据库 SQL Server
在SQL Server数据库中,为什么不允许在视图定义中使用ORDER BY子句呢?下文对该问题的原因进行了深入的分析,供您参考。

我们遇到不允许在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分页的实现方法

责任编辑:段燃 来源: 互联网
相关推荐

2010-06-28 15:27:54

SQL Server

2010-07-13 10:01:43

SQL Server

2011-03-01 14:12:12

FreebsdProftpd

2010-11-02 15:08:40

设置db2主键

2009-06-18 10:47:44

java接口定义变量

2010-06-01 16:12:00

2023-08-22 20:43:09

HashMap单线程null

2022-05-08 18:18:40

JDKValueHashMap

2010-11-12 11:19:19

SQL Server视

2010-05-20 13:03:52

IIS父路径

2014-06-30 14:53:49

Android定制google

2020-08-20 11:12:14

iOS 13.6苹果降级

2010-11-11 16:59:59

SQL Server视

2011-04-22 10:15:56

Novell专利

2010-11-09 10:10:08

SQL Server

2022-01-27 07:02:52

JavaHashMap单线程

2015-08-17 10:16:00

CentOSDocker命令root

2010-11-11 17:15:13

SQL Server视

2009-09-22 15:54:42

CCIE笔试

2010-09-13 17:03:34

sql server触
点赞
收藏

51CTO技术栈公众号