设为首页 加入收藏

TOP

SQLSERVER中的视图
2015-07-24 11:06:39 来源: 作者: 【 】 浏览:1
Tags:SQLSERVER
  1. 视图是一个数据表或者多个数据表导图来的表,只是一张虚拟的表
  1. 视图的作用
  2. 提高数据访问的安全性

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

  3. 方便查询操作

    数据表中的数据经常会用到,为例避免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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL改变表的存储引擎 下一篇having在Oracle和mysql中的一点不..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)
·有没有Java swing教 (2025-12-25 15:19:09)
·Start, Stop, and Di (2025-12-25 14:50:57)
·C语言入门教程:零基 (2025-12-25 14:50:54)