視圖是數據庫中的一種虛擬表,與真實的表一樣,視圖包含一系列帶有名稱的行和列數據。行和列數據用來自定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
1. 視圖的概念
視圖是從一個或者多個表中導出的,其行為與表相似,但視圖是一個虛擬表。視圖可以在已經存在的視圖的基礎上定義。在視圖上用戶可以使用SELECT語句查詢數據庫,使用INSERT、UPDATE和DELETE語句修改記錄。對於視圖的操作最終轉化為對基本數據表的操作。
2. 創建視圖
使用T-SQL創建視圖語法:
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH <view_attribute> [ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
實例:
單表視圖
CREATE VIEW [dbo].[V_Product] AS SELECT [ProductID],[ProductName] FROM [dbo].[Product]
多表視圖
CREATE VIEW [dbo].[V_ProductCategory] AS SELECT [ProductID],[CategoryName],[ProductName] FROM [dbo].[Product] INNER JOIN [dbo].[Category] ON [dbo].[Product].[CategoryID] = [dbo].[Category].[CategoryID]
創建排序視圖
CREATE VIEW [dbo].[V_Product] AS SELECT TOP 100 PERCENT [ProductID],[ProductName] FROM [dbo].[Product] ORDER BY [UnitPrice]
3. 修改視圖
使用T-SQL修改視圖語法:
ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ] [ WITH <view_attribute> [ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
4. 查看視圖
查看視圖結構:
EXEC sp_help [V_Product]
查看視圖文本:
EXEC sp_helptext [V_Product]
5. 刪除視圖
T-SQL刪除視圖語法:
DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]
刪除單個視圖:
DROP VIEW [V_Product]
刪除多個視圖:
DROP VIEW [V_Product],[V_ProductCategory]