读书人

关于目录视图

发布时间: 2012-11-01 11:11:33 作者: rapoo

关于索引视图
索引中用到了一个用户自定义函数,都绑定到架构了,为什么创建索引时还是报错,提示:
消息 10133,级别 16,状态 1,第 1 行
无法对视图 "Brand.dbo.xxxx" 创建 索引,因为视图引用的函数 "dbo.fn_CubicVolume" 在执行用户或系统数据访问。


[解决办法]

SQL code
---索引视图索引视图是具体化的视图--创建索引视图create view 视图名 with schemabinding asselect 语句go---创建索引视图需要注意的几点1. 创建索引视图的时候需要指定表所属的架构--错误写法create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   a join b on   a.id=b.idgo---正确写法:create view v_f with schemabinding asselect   *from   dbo.a join dbo.b on   a.id=b.idgo2.在创建索引视图的select语句时,不使用*,必须指定具体的列名--错误写法create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   dbo.a join dbo.b on   a.id=b.idgo---正确写法create view v_f with schemabinding asselect   a.a,a.b,b.a,b.bfrom   dbo.a join dbo.b on   a.id=b.idgo3.在创建索引视图的select 语句中,不能存在重复的列名,这个不举例了4. 只能为索引视图创建唯一聚集索引--正确的写法create unique clustered index ix_uniquetb on v_tbgo--错误的写法 create clustered index ix_uniquetb on v_tbgo 

读书人网 >SQL Server

热点推荐