注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 对江西某电信服务器的一次..
 帮助

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


2007-10-01 14:36:04
 标签:视图 CREATE VIEW   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/44616
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’,’第二学期的重点课程’)
 
 
 




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: