WEB开发网
开发学院数据库MSSQL Server SQL Server基础知识之:设计和实现视图 阅读

SQL Server基础知识之:设计和实现视图

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示: 图片看不清楚?请点击这里查看原图(大图),该特性不能用于视图,SQL Server基础知识之:设计和实现视图(2),但可以直接用于查询定义视图的查询不能包含 ORDER BY 子句,除非在 SELECT 语句的选择列表中还有一个 TOP 子句,当查询视图时,可能会生成意外结果,这个很有意思,如果

图片看不清楚?请点击这里查看原图(大图)。

该特性不能用于视图,但可以直接用于查询

定义视图的查询不能包含 ORDER BY 子句,除非在 SELECT 语句的选择列表中还有一个 TOP 子句。

这个很有意思,如果要访问所有的呢,还必须是写TOP 100 PERCENT

定义视图的查询不能包含指定查询提示的 OPTION 子句。

定义视图的查询不能包含 TABLESAMPLE 子句。

关于TABLESAMPLE语句,大家可能也比较陌生,这是一个用于对数据进行抽样的。它和TOP语句不同,TOP语句是有固定大小的,而TABLESAMPLE返回的数据,可能多,可能少,甚至可能没有

我之前有一篇文章讲述这个语法 http://www.cnblogs.com/chenxizhang/archive/2009/05/19/1460040.html

不能为视图定义全文索引定义。

不能创建临时视图,也不能对临时表创建视图。

在SQL Server 2005中,可以通过CTE(Common Table Expression)来实现该功能

之前的版本,大致的做法是使用临时表,表变量,函数等等

不能删除参与到使用 SCHEMABINDING 子句创建的视图中的视图、表或函数,除非该视图已被删除或更改而不再具有架构绑定。另外,如果对参与具有架构绑定的视图的表执行 ALTER TABLE 语句,而这些语句又会影响该视图的定义,则这些语句将会失败。

如果未使用 SCHEMABINDING 子句创建视图,则对视图下影响视图定义的对象进行更改时,应运行 sp_refreshview。 否则,当查询视图时,可能会生成意外结果。

如果你修改了一个表,那么如何刷新所有与该表有关的视图呢

Tags:SQL Server 基础知识

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接