当前位置: 代码迷 >> Sql Server >> 关于目录视图
  详细解决方案

关于目录视图

热度:40   发布时间:2016-04-25 01:20:20.0
关于索引视图
索引中用到了一个用户自定义函数,都绑定到架构了,为什么创建索引时还是报错,提示:
消息 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
  相关解决方案