CREATE VIEW titleview AS SELECT title, au_ord, au_lname, PRice, ytd_sales, pub_id FROM authors AS a JOIN titleauthor AS ta ON (a.au_id = ta.au_id) JOIN titles AS t ON (t.title_id = ta.title_id)
CREATE VIEW Cust_titleview AS SELECT title, au_lname, price, pub_id FROM titleview
視圖可用于在多個數據庫或 Microsoft® SQL Server™ 2000 實例間對數據進行分區。分區視圖可用于在整個服務器組內分布數據庫處理。服務器組具有與服務器聚集相同的性能優點,并可用于支持最大的 Web 站點或公司數據中心的處理需求。原始表被細分為多個成員表,每個成員表包含原始表的行子集。每個成員表可放置在不同服務器的數據庫中。每個服務器也可得到分區視圖。分區視圖使用 Transact-SQL UNION 運算符,將在所有成員表上選擇的結果合并為單個結果集,該結果集的行為與整個原始表的復本完全一樣。例如在三個服務器間進行表分區。在第一個服務器上定義如下的分區視圖:
CREATE VIEW PartitionedView AS SELECT * FROM MyDatabase.dbo.PartitionTable1 UNION ALL SELECT * FROM Server2.MyDatabase.dbo.PartitionTable2 UNION ALL SELECT * FROM Server3.MyDatabase.dbo.PartitionTable3
復雜的查詢(如決策支持系統中的查詢)可引用基表中的大量行,并將大量信息聚積在相對較簡潔的聚合中,如總和或平均值。SQL Server 2000 支持在執行此類復雜查詢的視圖上創建聚集索引。當執行 CREATE INDEX 語句時,視圖 SELECT 的結果集將永久存儲在數據庫中。SQL 語句此后若引用該視圖,響應時間將會顯著縮短。對基本數據的修改將自動反映在視圖中。
SQL Server 2000 CREATE VIEW 語句支持 SCHEMABINDING 選項,以防止視圖所引用的表在視圖未被調整的情況下發生改變。必須為任何創建索引的視圖指定 SCHEMABINDING。