sqlserver 创建视图失败,原因:ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

sql语句:createviewv$_emp_1asselect*fromempwhereemp.sal>(selectmin(sal)fromemp)orderbysa... sql语句:
create view v$_emp_1
as
select * from emp
where emp.sal > (select min(sal) from emp)
order by sal

错误原因:
消息 1033,级别 15,状态 1,过程 v$_emp_1,第 5 行
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

求大家帮忙分析下,thank!
展开
 我来答
匿名用户
推荐于2017-12-16
展开全部
sqlserver中创建视图时,as下不能出现order by
其实你要排序的话可以对视图进行排序嘛,没必要在视图创建时候就排序
--创建视图

create view v$_emp_1
as
select * from emp
where emp.sal > (select min(sal) from emp)
--查询视图
select * from v$_emp_1 order by sal--这儿排序不就行了嘛~~~采纳哦
百度网友2a3de152f
2014-12-26 · TA获得超过127个赞
知道小有建树答主
回答量:164
采纳率:100%
帮助的人:104万
展开全部
错误提示说得很清楚了。"不能用order by "
追问
select * from emp 
where emp.sal > (select min(sal) from emp)
order by sal
这样查询并不会出错,但创建视图时出错,大哥你能解释的再清楚些吗?
追答
视图、触发器、存储过程、自定函数是数据库特定的样式。
有一些系统自带的函数不能用在里面,详细看在查询平台下“Ctrl+F1“看 联机丛书和帮助说明。

用视图会对数据结构保密、查询方便。
但数据量超1千万时,建议用存储过程。
=============================================
微软的说明
http://msdn.microsoft.com/zh-cn/library/ms189463.aspx

http://msdn.microsoft.com/zh-cn/library/ms188385.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式