创建格式
CREATE VIEW view_ame WITH SCHEMABINDING
AS
select code,name from dbo.userinfo
CREATE UNIQUE CLUSTERED INDEX index_name ON view_name (code ASC... ... )
编写注意点:
1、完整表名称即 dbo.tableName 直接写tableName会产生如下异常
消息 4512,级别 16,状态 3,过程 vw_test_view_index,第 3 行
无法将 视图'vw_test_view_index' 绑定到架构,因为名称 'UserInfo' 对于架构绑定无效。名称必须由两部分构成,并且对象不能引用自身。
2、查询语句不能直接写select * from 会报如下异常
消息 1054,级别 15,状态 6,过程 vw_test_view_index,第 3 行
在绑定到架构的对象中不允许使用语法 '*'。
3、创建的索引必须是唯一聚集索引 否则会抛出如下异常
消息 1941,级别 16,状态 1,第 1 行
无法对视图 'vw_test_view_index' 创建非唯一聚集索引,因为只允许使用唯一聚集索引。请考虑创建唯一聚集索引。
WITH SCHEMABINDING 表示视图绑定到物理表结构上或另一个索引视图上,当物理表或索引视图进行结构上的修改,若物理表或视图存在索引视图结构的绑定,则无法进行修改,需要解除绑定后才可对物料表结构或视图进行修改
1、结构绑定无法对远程链接的表进行结构绑定
2、嵌套:
2.1 要查询的视图无结构绑定,新建的视图无法进行结构绑定
2.2查询的视图存在聚集索引,新建的视图无法创建聚集索引