SQL2008里面视图无法order by?

cailee 2010-04-13 10:00:52
直接从2000升级到了2008,发现以前在2000视图里面order by正常。到了2008之后就发现顺序全乱了。

难道是兼容性问题?
...全文
334 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghost0912 2010-04-22
  • 打赏
  • 举报
回复
我今天也遇到了同样的问题,不过已经解决了
cailee 2010-04-14
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 perfectaction 的回复:]
汗,原来要应用这个fix是有条件的:
This hotfix introduces trace flag 168. After you apply this hotfix, you must enable trace flag 168.
Additionally, you must change the compatibility level of the database that cont……
[/Quote]
trace flag 168是什么?
加了补丁,还必须修改兼容级别为sql2000 80?
cailee 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 budong0000 的回复:]
倒。 视图也是数据集啊。 和表一样是无序的。 查询出来再排序嘛
[/Quote]
汗,大哥,关键是以前2000的视图里面,加了order by了啊.
sdwbcvbrtcwwww 2010-04-13
  • 打赏
  • 举报
回复
关注~~~同顶
budong0000 2010-04-13
  • 打赏
  • 举报
回复
倒。 视图也是数据集啊。 和表一样是无序的。 查询出来再排序嘛
cailee 2010-04-13
  • 打赏
  • 举报
回复
这里已经有讨论了,看来得小心这步了:

http://topic.csdn.net/u/20090615/11/904d64bc-c867-4b6d-9b23-108f1d9df329.html
Mr_Nice 2010-04-13
  • 打赏
  • 举报
回复
路过,学习。2008还没有开始用呢
cailee 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sql77 的回复:]
引用 6 楼 cailee 的回复:
引用 3 楼 guguda2008 的回复:
用语句查询出的排序有问题吗

直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。

05以上 的都不保证在视图里面ORDER BY 会排序的
000的还可以

SELECT * FROM VIEW_A ORDER BY 列

这样
[/Quote]
这个算05/08的bug吗?2008我都打了SP1的补丁了。
SQL77 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cailee 的回复:]
引用 3 楼 guguda2008 的回复:
用语句查询出的排序有问题吗

直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
[/Quote]
05以上 的都不保证在视图里面ORDER BY 会排序的
000的还可以

SELECT * FROM VIEW_A ORDER BY 列

这样
cailee 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 guguda2008 的回复:]
用语句查询出的排序有问题吗
[/Quote]
直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
--小F-- 2010-04-13
  • 打赏
  • 举报
回复
有视图索引??
budong0000 2010-04-13
  • 打赏
  • 举报
回复
不懂, 用这个试试:
SELECT DISTINCT 'EXEC SP_REFRESHVIEW ''' + name + '''' FROM sys.objects  WHERE type='V'
guguda2008 2010-04-13
  • 打赏
  • 举报
回复
用语句查询出的排序有问题吗
htl258_Tony 2010-04-13
  • 打赏
  • 举报
回复
看看代码是不否变了。
guguda2008 2010-04-13
  • 打赏
  • 举报
回复
帮顶一下,顺便学习
nzperfect 2010-04-13
  • 打赏
  • 举报
回复
汗,原来要应用这个fix是有条件的:
This hotfix introduces trace flag 168. After you apply this hotfix, you must enable trace flag 168.
Additionally, you must change the compatibility level of the database that contains the view to 80.

如此说来,这个hotfix似乎没有太多用处了
cailee 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 sql77 的回复:]
引用 17 楼 cailee 的回复:
引用 16 楼 zsuswy 的回复:
直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
---------------------------------------
这,是合理的行为。在Sql Server 2000里面才是不合理的。
在那个《Sql Server 2005技术内幕——T-SQL查询》中有提到。
……
[/Quote]
77哥,书在家里.现在在公司.
SQL77 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 cailee 的回复:]
引用 16 楼 zsuswy 的回复:
直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
---------------------------------------
这,是合理的行为。在Sql Server 2000里面才是不合理的。
在那个《Sql Server 2005技术内幕——T-SQL查询》中有提到。

你说的这本书我刚好有.具体是在哪里提到……
[/Quote]
你有那你还找不到?就在逻辑查询阶段的讲解,第一章我
cailee 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zsuswy 的回复:]
直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
---------------------------------------
这,是合理的行为。在Sql Server 2000里面才是不合理的。
在那个《Sql Server 2005技术内幕——T-SQL查询》中有提到。
[/Quote]
你说的这本书我刚好有.具体是在哪里提到啊?
zsuswy 2010-04-13
  • 打赏
  • 举报
回复
直接用语句排序正常。
但是调用视图的话,视图里面的order by发现没用。
---------------------------------------
这,是合理的行为。在Sql Server 2000里面才是不合理的。
在那个《Sql Server 2005技术内幕——T-SQL查询》中有提到。
加载更多回复(2)

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧