我已经建立在SQL由3个表的简单视图。

通过右击并选择设计,在对象资源管理表中,我修改自定义视图。我刚添加sortby ASC中的一个字段。

在的问题是,更改不会反映在视图的outout。 保存视图,并选择后打开查看排序不输出显示。

那么,什么是怎么回事?

有帮助吗?

解决方案

从技术上讲,它是可能的烘烤排序成VIEW但强烈气馁。相反,你应该申请排序,同时从像这样的视图中选择:

Select ...
From MyView
Order By SortByCol ASC

如果你真的想知道(但同样,我会强烈反对这一点),你可以使用TOP命令绕过视图排序的限制:

Select TOP 100 PERCENT * Col1, Col2....
From Table1
Order By SortByCol ASC

其他提示

看来:

有是在SQL Server 2000中的视图定义的SELECT子句限制,SQL 2005和SQL 2008 CREATE VIEW语句不能包含ORDER BY子句,除非有也是在SELECT的选择列表中的TOP子句声明。 ORDER BY子句仅用于确定由在视图定义TOP子句返回的行。 ORDER BY子句不保证排序结果当查询视图,除非ORDER BY也是在查询本身指定。

还有一个修复程序被应用的需求。在此之后,你应该使用前100%,以确保通过作品的顺序。

HTH

一般,视图无法进行排序。

(正如其他人所提到的,有一个黑客做到这一点,但因为你正在使用一个可视化查询设计器,而不是写在SQL视图定义,它可能难以实现该黑客。)

您实际上并没有“修改”你的看法,你只改变了SELECT语句EM使用选择的的视图。排序设置没有保留在视图定义

当您关闭选项卡,EM不记得您的排序偏好这一观点,所以当你再次打开该视图,它可以以任意顺序SQL Server会出来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top