SqlCollections - 視圖

 1 --==============================視圖===============================
 2 --簡單視圖
 3 --注意:視圖中不能有ORDER BY,除非指定了TOP!
 4 CREATE VIEW v_產品視圖
 5 AS    --AS不能少
 6 SELECT * FROM 產品
 7 GO
 8 SELECT * FROM v_產品視圖
 9 
10 --視圖加別名
11 CREATE VIEW v_產品視圖2(產品編號,產品名稱)
12 AS
13 SELECT a.產品ID,a.產品名稱
14 FROM 產品 a
15 GO
16 SELECT * FROM v_產品視圖2
17 
18 --修改視圖
19 ALTER VIEW v_產品視圖
20 AS
21 SELECT a.產品ID,a.產品名稱
22 FROM 產品 a
23 GO
24 SELECT * FROM v_產品視圖
25 
26 --查看數據庫中的全部視圖信息
27 SELECT * FROM INFORMATION_SCHEMA.VIEWS
28 
29 --加密視圖
30 --加密後上述查詢將看不到視圖的語句,右鍵菜單的Design也變成了灰色
31 CREATE VIEW v_加密的產品視圖
32 WITH ENCRYPTION
33 AS
34 SELECT * FROM 產品
35 
36 --解密視圖
37 --將WITH ENCRYPTION去除便可解密
38 ALTER VIEW v_加密的產品視圖
39 AS
40 SELECT * FROM v_產品視圖
41 
42 --綁定架構的視圖
43 --能限制對視圖所引用的表或視圖的修改及刪除
44 CREATE VIEW v_綁定架構的產品視圖
45 WITH SCHEMABINDING
46 AS
47 SELECT 產品ID,產品名稱    --此時,不能用*而必須指定字段名
48 FROM dbo.產品    --此時,必須用owner.object形式
49 GO
50 ALTER TABLE 產品
51 ALTER COLUMN 產品名稱 nvarchar(50)    --修改會報錯
52 
53 --視圖的約束
54 CREATE VIEW v_帶約束的視圖
55 AS
56 SELECT 產品ID,產品名稱,單價
57 FROM 產品
58 WHERE 單價 > $20
59 WITH CHECK OPTION
60 GO
61 UPDATE v_帶約束的視圖 SET 單價 = $10 WHERE 產品ID = 4    --不符合單價>20會報錯
62 
63 --刪除視圖
64 DROP VIEW v_產品視圖
65 
66 --重命名視圖
67 EXEC sp_rename 'v_產品視圖','v_新產品視圖'
相關文章
相關標籤/搜索