1、簡化查詢語句; 2、增加可讀性,視圖中可以只使用要顯示的字段,并且可以使用字段別名 3、方便程序維護,當數據表的結構發生改變時只要修改視圖存儲的查詢語句無需修改程序。 4、增加數據的安全性和保密性:針對不同的用戶,可以創建不同的視圖,此時用戶只能看和修改其所能看到的視圖中的數據,而真正的數據表中的數據都是不可見的。
注意事項: 1、不能包括 Compute 和 Compute by 子句 2、不能包括 ORDER BY 子句,除非在 SELECT 子句里有 TOP 子句
CREATE VIEW v_employee(id,name,hhhhh) AS SELECT id,name,'哈哈哈哈' FROM employee -- 創建視圖GO -- 創建視圖語句必須是批處理的唯一語句SELECT * FROM v_employee -- 使用視圖-- 創建一個視圖獲取最新 10 條新聞CREATE VIEW v_lastest_news AS SELECT TOP 10 * FROM news ORDER BY id DESC-- 創建加密視圖,加密后用戶無法看到視圖的信息(視圖的創建語句)CREATE VIEW v_enpcrypted_news WITH ENCRYPTION AS SELECT * FROM news-- 創建引用限制視圖,當有視圖引用表時表或視圖不能被更改設計和刪除CREATE VIEW v_test_news WITH SCHEMABINDING AS SELECT * FROM newsDROP TABLE news -- 將引發錯誤消息-- 檢查視圖的數據變動CREATE VIEW view_PRoduct AS SELECT * FROM product WHERE price > 20 WITH CHECK OPTION -- 創建帶數據檢查的視圖UDPATE view_product SET price = 16 WHERE id = 3 -- 拒絕執行,不符合視圖創建時設定的 price > 20 的條件UPDATE product SET price = 16 WHERE id = 3 -- 可以執行新聞熱點
疑難解答