例如,索引檢視表挑選清單不能包含運算式 AVG(SomeColumn)。如果視圖挑選清單包含運算式 SUM(SomeColumn) 和 COUNT_BIG(SomeColumn),則 SQL Server 可為引用視圖並指定 AVG(SomeColumn) 的查詢計算平均數。
引用可為空白的運算式的 SUM 函數。全文謂詞 CONTAINS 或 FREETEXT。COMPUTE 或 COMPUTE BY 子句。 如果沒有指定 GROUP BY,則視圖挑選清單不能包含彙總運算式。如果指定了 GROUP BY,則視圖挑選清單必須包含 COUNT_BIG(*) 運算式,並且,視圖定義不能指定 HAVING、CUBE 或 ROLLUP。通過一個既可以取值為 float 值也可以使用 float 運算式求值的運算式而產生的列不能作為索引檢視表或表的索引的鍵。 CREATE INDEX 語句的要求
在視圖上建立的第一個索引必須是唯一叢集索引。在建立唯一叢集索引後,可建立其它非叢集索引。視圖上的索引命名規則與表上的索引命名規則相同。唯一區別是表名由視圖名替換。有關更多資訊,請參見 CREATE INDEX。
除了一般的 CREATE INDEX 要求外,CREATE INDEX 語句還必須滿足下列要求: 執行 CREATE INDEX 語句的使用者必須是視圖的所有者。當執行 CREATE INDEX 語句時,下列 SET 選項必須設定為 ON: ANSI_NULLSANSI_PADDINGANSI_WARNINGSARITHABORTCONCAT_NULL_YIELDS_NULLQUOTED_IDENTIFIERS 必須將選項 NUMERIC_ROUNDABORT 選項設定為 OFF。視圖不能包含 text、ntext 或 image 列,即使在 CREATE INDEX 語句中沒有引用它們。如果視圖定義中的 SELECT 語句指定了一個 GROUP BY 子句,則唯一叢集索引的鍵只能引用在 GROUP BY 子句中指定的列。 注意事項
建立叢集索引後,對於任何試圖為視圖修改基本資料而進行的串連,其選項設定必須與建立索引所需的選項設定相同。如果這個執行語句的串連沒有適當的選項設定,則 SQL Server 建置錯誤並復原任何會影響視圖結果集的 INSERT、UPDATE 或 DELETE 語句。有關更多資訊,請參見影響結果的 SET 選項。