sql 视图

一: 什么是视图

        视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。

二: 创建视图准则

     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';
原文地址:https://www.cnblogs.com/loverwangshan/p/10579838.html