+ -
当前位置:首页 → 问答吧 → sql2005 视图里加索引加不了

sql2005 视图里加索引加不了

时间:2011-11-16

来源:互联网

CREATE UNIQUE INDEX orderID ON milk_fenf (订单号)

错误提示:无法对视图 'milk_fenf' 创建 索引,因为该视图未绑定到架构。


请问如何解决

作者: xuzhuhp   发布时间: 2011-11-16

你要在创建视图的时候创建索引视图。

作者: AcHerat   发布时间: 2011-11-16

SQL code
索引视图是具体化的视图

--创建索引视图
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

作者: fredrickhu   发布时间: 2011-11-16

引用楼主 xuzhuhp 的回复:
CREATE UNIQUE INDEX orderID ON milk_fenf (订单号)

错误提示:无法对视图 'milk_fenf' 创建 索引,因为该视图未绑定到架构。


请问如何解决
视图没必要加索引,你应该对表建立索引.

作者: dawugui   发布时间: 2011-11-16

引用 3 楼 dawugui 的回复:
引用楼主 xuzhuhp 的回复:
CREATE UNIQUE INDEX orderID ON milk_fenf (订单号)

错误提示:无法对视图 'milk_fenf' 创建 索引,因为该视图未绑定到架构。


请问如何解决
视图没必要加索引,你应该对表建立索引.
学习

作者: abclm   发布时间: 2011-11-16

create view v_name with schemabinding
as
 select * from dbo.tb

作者: ssp2009   发布时间: 2011-11-16

热门下载

更多