有一链接服务器,LinkBase1;
一般创建视图没问题:
CREATE VIEW dbo.myView1
AS
SELECT id ,NAME, sex
FROM OPENQUERY(LinkBase1, 'select * from uniUser')但想创建该视图索引就不行
CREATE VIEW dbo.myView1 WITH SCHEMABINDING
AS
SELECT id ,NAME, sex
FROM OPENQUERY(LinkBase1, 'select * from uniUser')1.请教网友,有没有其它办法创建视图索引??
或
2.数据库在不同的两台服务器,其中某几个表要链接起来(通过join)
除了链接服务器外有没有其它办法??
一般创建视图没问题:
CREATE VIEW dbo.myView1
AS
SELECT id ,NAME, sex
FROM OPENQUERY(LinkBase1, 'select * from uniUser')但想创建该视图索引就不行
CREATE VIEW dbo.myView1 WITH SCHEMABINDING
AS
SELECT id ,NAME, sex
FROM OPENQUERY(LinkBase1, 'select * from uniUser')1.请教网友,有没有其它办法创建视图索引??
或
2.数据库在不同的两台服务器,其中某几个表要链接起来(通过join)
除了链接服务器外有没有其它办法??
除了链接服务器外有没有其它办法??
貌似没其他办法了
GO
SET QUOTED_IDENTIFIER ON
GOCREATE VIEW [dbo].[SE_DocCatalog]
with SCHEMABINDING --这个也要加
AS
SELECT
dbo.Alias.AliasID,
dbo.Alias.DirID,
dbo.Alias.IsMaster,
dbo.Alias.docAclAndInherit,
dbo.Doc.DocVer,
dbo.Doc.DocLastModifyBy as LastModifyBy,
dbo.Alias.PrimarySortNo as DocSerialNo,
dbo.Doc.DocLockStatus,
dbo.Doc.DocLockBy,
FROM dbo.Alias INNER JOIN
dbo.Doc ON dbo.Alias.DocID = dbo.Doc.DocID所以在创建索引视图时,要加一个with SCHEMABINDING才可以相关网站信息
http://www.microsoft.com/china/technet/prodtechnol/sql/2005/ipsql05iv.mspx#EWBAC
select item1,item2, case when item3>item4 then item3
when item3<item4 then item4
when item3=item4 then 'A'
end as alias1 ,item6,item7
from tab1
where .....
而在oracle 中如果要實現上面功能的視圖可以這樣子創建:
select item1,item2,item3 alias1,item6,item7 from tab1
where ..... and item3>item4
union all
select item1,item2,item4 alias1,item6,item7 from tab1
where .... and item3<item4
union all
select item1,item2,'A' alias1,item6,item7 from tab1
where .... and item3=item4
CREATE VIEW V_T1_c1 WITH SCHEMABINDING
AS
SELECT c1, COUNT_BIG(*)
AS cnt FROM dbo.T1 GROUP BY c1
GO
CREATE UNIQUE CLUSTERED INDEX
如果楼主采用那个方式,应该这个问题也解决了。
CREATE VIEW dbo.myView1 WITH SCHEMABINDING
AS
SELECT id ,NAME, sex
FROM OPENQUERY(LinkBase1, 'select * from uniUser')
====================================
服务器: 消息 1054,级别 15,状态 3,过程 myView1,行 4
在 schemabound 对象中不允许使用 'Openrowset' 语法。
如果在B服务器上建视图索引,(link A), 那么B和A中视图所关联的表结构不能变化,B上的表一但变化,索引视图可以监测到,但是你想一下,如果A上的被关联的表结构变化了,B上的索引如何能够得知呢?你试一下在A上再把B做的link server建一下.
我估计跨机子建索引视图够呛.......