SqlServer里面视图View得创建是不是不能用到临时表和表变量?

问题如下:1.SqlServer里面视图View得创建是不是不能用到临时表和表变量?如题。。。2.视图里面直接select获取function得到的大量表数据会有啥不好?... 问题如下:
1. SqlServer里面视图View得创建是不是不能用到临时表和表变量?
如题。。。

2. 视图里面直接select 获取 function得到的大量表数据 会有啥不好?
展开
 我来答
射手幽灵伊
2015-09-10 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1977万
展开全部
1 、
视图是一个虚拟表,同表一样,视图包含一系列带有名称的列和行数据。

视图在数据库中并不是以数据值存储集形式存在,除非是索引视图。

行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

定义视图可以来自当前或其他数据库的一个或多个表,或者其他视图。

根据以上定义,所以不能使用临时表和表变量。

2、
只要是select 中有function,都会增中计算量,查询时间增长。
追问
视图定义:
create view V_X1
as
select * from function_query();

如果这样写,影响是不是非常大? 非常不好?
追答
这样的影响,是看function_query()的写法了,此处的写法都是这样的,没有什么可以调整的地方。
greystar_cn
2015-09-10 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
1,临时表和表变量 不能直接使用
2,视图中使用function来获取了大量数据,基本就是动态处理了。计算量大增,那不如直接SQL获取。

但也不能说不使用,建议看看理论方面的分析:
http://www.cnblogs.com/SanMaoSpace/p/3147059.html
追问
直接写SQL,因为视图中没法用 表变量和临时表 所以只能写在function里面,调用function
追答
是的,就是这个意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式