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_新产品视图'