【发布时间】:2010-12-09 10:20:03
【问题描述】:
我们通过这样的sql创建了一个索引视图:
Select Table1_ID, Count_BIG(*) as Table2TotalCount from Table2 inner join
Table1 inner join... where...
同样在创建视图之后,我们在 Table1_ID 列上设置了聚集唯一索引。
所以 View 由两列组成:
Table1_ID
Table2TotalCount
我们有两个问题:
- 如果我们使用
Count(1)或Count_BIG(1)而不是Count_BIG(*),SQL 不允许我们在 Table1_ID 上设置索引 - 我们如何控制第二列的类型 (
Table2TotalCount) - SQL 给出一个 long nullable 类型到此列。但是我们想为该列设置 int not nullable 类型。创建视图后,我们找不到任何更改列类型的方法。 还有我们用于创建视图的 t-sql,总是将 int 值返回到 Table2TotalCount。
【问题讨论】:
标签: sql-server sql-server-2008 view indexed