一: 什么是视图
视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。
二: 创建视图准则
1:创建视图需要考虑一下准则:
- 视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同
- 你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段
- 不能将规则和default定义于视图相关联
- 视图的查询不能包含compute子句、compute by子句或into关键字
- 定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句
2:下列情况必须指定视图中每列的名称:
- 视图中的如何列都是从算术表达式、内置函数或常量派生而来
- 视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)
- 希望视图中的列指定一个与其原列不同的名称(也可以在视图中重命名列)。无论是否重命名,视图列都回继承原列的数据类型
三: 创建视图
1 if (exists (select * from sys.objects where name = 'v_stu')) 2 drop view v_stu 3 go 4 create view v_stu 5 as 6 select id, name, age, sex from student;
四: 修改视图
1 alter view v_stu 2 as 3 select id, name, sex from student; 4 5 alter view v_stu(编号, 名称, 性别) 6 as 7 select id, name, sex from student 8 go 9 10 select * from v_stu; 11 12 select * from information_schema.views;
五: 加密视图
if (exists (select * from sys.objects where name = 'v_student_info')) drop view v_student_info go create view v_student_info with encryption --加密 as select id, name, age from student go --view_definition isnull select * from information_schema.views where table_name like'v_stu';