欢迎来到天天文库
浏览记录
ID:34725887
大小:80.46 KB
页数:21页
时间:2019-03-10
《sqlserver2008视图》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CREATEVIEW[schema_name.]view_name[(column[,...n])][WITH[,...n]]ASselect_statement[WITHCHECKOPTION][;]::={[ENCRYPTION][SCHEMABINDING][VIEW_METADATA]}参数schema_name视图所属架构的名称。view_name视图的名称。视图名称必须符合有关标识符的规则。可以选择是否指定视图所有者名称。column视图中的列使用的名称。仅在下列情况下需要列名:列是从算术表达式、函数或
2、常量派生的;两个或更多的列可能会具有相同的名称(通常是由于联接的原因);视图中的某个列的指定名称不同于其派生来源列的名称。还可以在SELECT语句中分配列名。如果未指定column,则视图列将获得与SELECT语句中的列相同的名称。注意:在视图的各列中,列名的权限在CREATEVIEW或ALTERVIEW语句间均适用,与基础数据源无关。例如,如果在CREATEVIEW语句中授予了SalesOrderID列上的权限,则ALTERVIEW语句可以将SalesOrderID列改名(例如改为OrderRef),但仍具有与使用SalesOrderID的视图相关联的权限。AS指定视图要执行
3、的操作。select_statement定义视图的SELECT语句。该语句可以使用多个表和其他视图。需要相应的权限才能在已创建视图的SELECT子句引用的对象中选择。视图不必是具体某个表的行和列的简单子集。可以使用多个表或带任意复杂性的SELECT子句的其他视图创建视图。在索引视图定义中,SELECT语句必须是单个表的语句或带有可选聚合的多表JOIN。视图定义中的SELECT子句不能包括下列内容:·COMPUTE或COMPUTEBY子句·ORDERBY子句,除非在SELECT语句的选择列表中也有一个TOP子句。注意:ORDERBY子句仅用于确定视图定义中的TOP子句返回的行。O
4、RDERBY不保证在查询视图时得到有序结果,除非在查询本身中也指定了ORDERBY。·INTO关键字·OPTION子句·引用临时表或表变量。因为select_statement使用SELECT语句,所以按照FROM子句的指定,使用和提示是有效的。有关详细信息,请参阅FROM(Transact-SQL)和SELECT(Transact-SQL)。UNION或UNIONALL分隔的函数和多个SELECT语句可在select_statement中使用。CHECKOPTION强制针对视图执行的所有数据修改语句都必须符合在select_sta
5、tement中设置的条件。通过视图修改行时,WITHCHECKOPTION可确保提交修改后,仍可通过视图看到数据。注意:即使指定了CHECKOPTION,也不能依据视图来验证任何直接对视图的基础表执行的更新。ENCRYPTION对sys.syscomments表中包含CREATEVIEW语句文本的项进行加密。使用WITHENCRYPTION可防止在SQLServer复制过程中发布视图。SCHEMABINDING将视图绑定到基础表的架构。如果指定了SCHEMABINDING,则不能按照将影响视图定义的方式修改基表或表。必须首先修改或删除视图定义本身,才能删除将要修改的表的依赖关系
6、。使用SCHEMABINDING时,select_statement必须包含所引用的表、视图或用户定义函数的两部分名称(schema.object)。所有被引用对象都必须在同一个数据库内。不能删除参与了使用SCHEMABINDING子句创建的视图的视图或表,除非该视图已被删除或更改而不再具有架构绑定。否则,MicrosoftSQLServer2005数据库引擎将引发错误。另外,如果对参与具有架构绑定的视图的表执行ALTERTABLE语句,而这些语句又会影响视图定义,则这些语句将会失败。如果视图包含别名数据类型列,则无法指定SCHEMABINDING。VIEW_METADATA指
7、定为引用视图的查询请求浏览模式的元数据时,SQLServer实例将向DB-Library、ODBC和OLEDBAPI返回有关视图的元数据信息,而不返回基表的元数据信息。浏览模式元数据是SQLServer实例向这些客户端API返回的附加元数据。如果使用此元数据,客户端API将可以实现可更新客户端游标。浏览模式的元数据包含结果集中的列所属的基表的相关信息。对于使用VIEW_METADATA创建的视图,浏览模式的元数据在描述结果集内视图中的列时,将返回视图名,而不返回基表名。当使用WITHVIEW
此文档下载收益归作者所有