1.是否可以在创建视图时采用ORDER BY子句?为什么?

如题所述

这个要看你是什么数据库的。

Oracle 可以 创建视图的时候, 在里面的 sql 加 order by.

例如:

SQL> create view v_test as select * from test_main order by id;
视图已建立。

但是 同样的语句, SQL Server 就不行了。
例如:

1> create view v_test as select * from test_main order by id
2> go
消息 1033,级别 15,状态 1,服务器 TESTPC\SQLEXPRESS,过程 v_test,第 1 行
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子
查询和公用表表达式中无效。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-27
当需要使用TOP子句时,可以使用ORDER BY 子句。
因为使用TOP子句时需要根据排列顺序来判断是否符合查询条件。本回答被提问者和网友采纳
第2个回答  2013-04-28
创建视图需要排序的
所以采用
相似回答