SQL SERVER2000教程-第六章 索引与视图 第二节 视图

A.概述:虚拟的表或存储查询。
B.功能:通过视图可以实现
  (1)将用户限定在特定的行上;
  (2)将用户限定在特定的列上;
  (3)将多个表的列联接起来构成一个“表”;
  (4)聚合信息而非提供详细信息;
  (5)可以使用视图更新表的数据,但关联表之间一般不可以;
2.1 创建视图
格式:Create view 视图名 [(列名)][with encryption] As select 语句 [with check option]
说明:A、with encryption :加密syscomments系统表项,该表项包含有Create view语句文本。
      B、with check option:强制所有对视图进行的数据修改语句都要遵守select语句对视图设置的条件。
注意:(a) 定义视图的查询不可以包含Order by,Compute或Compute by 子句或者into关键字;
      (b) 不能在临时表上创建视图;
例1
/*在单个表上创立视图*/
Create view vw_student
As
Select stuno,sname,entrancedate
From student
Where entrancedate>'2002-01-01'
Go
注:每个字段可以定义一个别名,表或其他对象也可创建别名
例2 创建一个视图用以显示学生的学号,姓名和所学的课程名称
Create view Vw_studentinfo
As
Select a.StuNo as '学生学号',a.SName as '学生姓名',c.SourceName as '课程名称'
From Student as a Join score as b
On (a.StuNo=b.StuNo)
Join source as c
On (b.SourceNo=c.SourceNo)
注:Join用来连接两个或多个表,on 参数指定连接条件
2.2 删除视图
Drop view vw_student
2.3 修改视图
例:
Alter view vw_studentinfo
As
Select a.Sname as ‘学生名称’,c.SourceName as ‘课程名称’From Student as a
Join Score as b  On (a.StuNo=b.StuNo)
Joio Source as c On(b.SourceNo=c.SourceNo)
2.4 通过视图修改数据
可以将视图看作表输入数据
例如
Create view vw_Source
As
Select SourceNo as ‘课程号’,SourceName as ‘课程名’,SourceDesc as ‘课程详细’
From Source
Insert into vw_Source values(‘102’,’VB’,’第二学期的重点课程’)
 
 
 

你可能感兴趣的:(数据库,视图,view,create,休闲)