首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

T-SQL 進階:視圖 完整解析(一般/索引/分割視圖)

     編輯:關於SqlServer

視圖三大分類

  • 一般視圖:僅儲存 SELECT 定義與中繼資料,不儲存資料。
  • 索引視圖:建立叢集索引將結果集物質化儲存。
  • 分割視圖:跨多張結構相同表聯合查詢,模擬分割表。

一般視圖建立語法與選項

CREATE VIEW [schema.]view_name [(column[,...n])]
[WITH [,...n]] AS select_statement
[WITH CHECK OPTION];
 ::= { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }

選項詳解:

  • `ENCRYPTION`:加密定義,不可修改,需自備腳本。
  • `SCHEMABINDING`:綁定底層結構,防止被引用表結構變更破壞視圖。
  • `VIEW_METADATA`:向客戶端暴露視圖自身中繼資料而非底層表,讓視圖像表一樣可更新。
  • `WITH CHECK OPTION`:限制透過視圖修改的資料必須符合視圖 WHERE 條件。

建立限制

  • 無 `TOP` 不得用 `ORDER BY`(Hack:`TOP 100 PERCENT`)。
  • Schema 內名稱唯一、嵌套 ≤ 32 層、禁用 `COMPUTE`/`INTO`、不可建立於暫存表、不可查全文索引。

簡單範例

CREATE VIEW v_Test_View1 AS SELECT TOP 100 * FROM HumanResources.Employee;
SELECT * FROM v_Test_View1;

索引視圖與分割視圖後續文章展開。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved