遇到这个问题,查了一位博主的文章,但是说的不是很详细,在这里说明白一些。
修改此问题 需要在 创建视图语句中加上 with SCHEMABINDING
--创建索引视图 create view 视图名 with schemabinding as select 语句 go
--创建索引视图需要注意的几点
--创建索引视图 create view 视图名 with schemabinding as select 语句 go ---创建索引视图需要注意的几点 1. 创建索引视图的时候需要指定表所属的架构 --错误写法 create view v_f with schemabinding as select a.a,a.b,b.a,b.b from a join b on a.id=b.id go ---正确写法: create view v_f with schemabinding as select a.a,a.b,b.a,b.b from dbo.a join dbo.b on a.id=b.id go 2.在创建索引视图的select语句时,不使用*,必须指定具体的列名 --错误写法 create view v_f with schemabinding as select * from dbo.a join dbo.b on a.id=b.id go ---正确写法 create view v_f with schemabinding as select a.a,a.b,b.a,b.b from dbo.a join dbo.b on a.id=b.id go 3.在创建索引视图的select 语句中,不能存在重复的列名,这个不举例了 4. 只能为索引视图创建唯一聚集索引 --正确的写法 create unique clustered index ix_uniquetb on v_tb go --错误的写法 create clustered index ix_uniquetb on v_tb go