解析
视图是一个虚拟表,其内容由查询定义,同表一样,视图包含一系列带有名称的列和行数据,行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成
视图的作用
- 集中用户需要的数据
- 用作安全机制,数据库管理元只允许用户通过视图查询数据,而不授予用户直接访问视图基础表的权限
- 提高性能,存储复杂查询
创建视图
示例:
1 | USE SCHOOL |
修改视图
示例:
1 | USE SCHOOL |
更新视图数据
示例:
1 | USE SCHOOL |
注:更新视图数据同时也会更新源表数据
使用系统存储过程查看创建视图脚本
示例:
1 | EXEC sys.sp_helptext 'V_BEST_SCORE' |
加密视图
使用WITH ENCRYPTION
加密视图脚本,WITH CHECK OPTION
强制更新视图的数据并且符合创建视图时的筛选条件
示例:
1 | USE SCHOOL |
加密了视图之后,使用sp_helptext
存储过程就无法查看视图脚本了
使用WITH CHECK OPTION
表示如果更新视图数据,必须保证更新完数据还在视图里,即参照上面的示例,如果将SCORE
更新成91,则可以更新成功,如果将SCORE
更新成89,则无法更新成功
删除视图
示例:
1 | DROP VIEW dbo.V_BEST_SCORE |