首页 > 数据库技术 > 详细

SQL SERVER中的视图

时间:2014-05-23 01:56:03      阅读:422      评论:0      收藏:0      [点我收藏+]


 视图是一个数据表或者多个数据表导图来的表,只是一张虚拟的表


  视图的作用


  1. 提高数据访问的安全性

    在实际应用中,如果不希望开发人员对表中所有的记录都可以查询的到,这个时候可以创建个视图,把重要的信息隐藏起来,让开发人员查询数据时查询不到。

  2. 方便查询操作

    数据表中的数据经常会用到,为例避免SELECT语句的重复查询这些信息,这些时候可以创建视图,把经常用到的数据放到这个视图中,这样在使用和查询这些数据时,就可以通过视图直接查询,而不必再写复杂的select语句了。

     

     

    基于单表创建视图

      这个视图只是将一个数据表中经常用到的数据提取出来。

    语法格式:

    CREATE VIEWview_name(column_name1…)

    As subquery

    如为学生信息表创建视图

    基于多表连接创建视图

    是指将多个数据表中经常用到的数据列使用where子句连接起来组成的视图。

    create view v_student 
    as 
    select stuname,sex,age from T_student 

    (这是基于学生信息表和系别表进行的连接后创建的视图)

     

     

    基于函数、分组数据创建视图

    是指在子查询语句中包含有函数。表达式等,主要是为了简化查询语句,提高查询效率

    create view v_teacher_salary
    select dept,profession,max(salary) as maxsalary
    from t_teacher
    group by dept,profession
    having max(salary)>3000

    (为教师信息表创建视图,要求对院校和教师职称进行分组并且所有教师的工资要大于3000

     

    CHECK约束

    与查询语句类似,当为视图添加约束(WITH CHECK OPTION),当再次执行插入、删除和修改等更新语句时,要符合查询的条件。

    create view v_student 
    as
    select r.stuname,r.sex,c.deptname from T_student r ,t_dept c where deptid='1109024102'
    with check option

    (因为在视图中已经定义了CHECK约束条件,所以如果要对视图进行其他操作的时候,其depid必须指定为11090241032

     

    只读视图

    与上面类似,如果创建只读视图的话,只需要在结尾加上关键字WITH READ ONLY

     




SQL SERVER中的视图,布布扣,bubuko.com

SQL SERVER中的视图

原文:http://blog.csdn.net/luckyzhoustar/article/details/26055789

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!