1.,视图的介绍:

(ps:学sqlServer视图是在面试问到之后学的,答不上来太low了,然后就去各种搜索操作对视图也有了自己的理解)
   其实视图就是一张表,是一张表中或者多张表中经过某种筛选后显示的数据,视图是 由一个预定义的查询select语句组成,简单的来说
   视图就是方面就是专门用来让其观看的数据,对其视图进行操作的话不会对原表数据更改所以比较安全,要不然数据库有很多表一
   个个查看会很麻烦的,视图可以让多张表组成一张新的表,这就是视图,视图不能对数据进行增,删,改操作。

1.1,视图的作用:

  1. 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
  2. 视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
  3. 从而加强了安全性,使用户只能看到视图所显示的数据。
  4. 视图还可以被嵌套,一个视图中可以嵌套另一个视图。

2.,创建视图的语法:

2.1,视图的创建,删除,查看

数据库视图情况:

2.2,对视图进行修改:

3.,往视图中插入数据

 视图除了进行查询记录外,也可以利用视图进行插入、更新、删除记录的操作,减少对基表中信息的直接操作,提高了数据的安全性。

 在视图上使用INSERT语句添加数据时,要符合以下规则。

  (1)使用INSERT语句向数据表中插入数据时,用户必须有插入数据的权利。
  (2)由于视图只引用表中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值。而那些表中并未引用的字段,必
    须知道在没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列条件之一。
    该字段允许空值。
    该字段设有默认值。
    该字段是标识字段,可根据标识种子和标识增量自动填充数据。
    该字段的数据类型为timestamp或uniqueidentifier。
  (3)视图中不能包含多个字段值的组合,或者包含使用统计函数的结果。
  (4)视图中不能包含DISTINCT或GROUP BY子句。

  (5)如果视图中使用了WITH CHECK OPTION,那么该子句将检查插入的数据是否符合视图定义中SELECT语句所设置的条件。如果插入的数据不符合该条件,SQL Server会拒绝插入数据。
  (6)不能在一个语句中对多个基础表使用数据修改语句。因此,如果要向一个引用了多个数据表的视图添加数据时,必须使用多个INSERT语句进行添加。

 PS:

    • 视图不能包含 ORDER BY 子句,除非SELECT语句的选择列表中还有一个 TOP 子句。
    • 视图不能使用 INTO 关键字。视图不能包含 OPTION 子句。
    • 视图不能有对临时表或表变量的引用。视图最多可以有 1024 列。

最新文章

  1. qt做触摸屏演示程序
  2. Selenium 2 入门
  3. 如何在centos上安装epel源
  4. 启动运行下载gradle速度太慢,手动添加
  5. dpkg 被中断,您必须手工运行 sudo dpkg -configure -a 解决
  6. 第二十六课:jQuery对事件对象的修复
  7. Java虚拟机类加载机制——案例分析
  8. Python标准库10 多进程初步 (multiprocessing包)
  9. Volume serial number could associate file existence on certain volume
  10. 使用java8的lambda将list转为map(转)
  11. <c:forEach> 详解
  12. IO库 8.4
  13. android com.handmark.pulltorefresh 使用技巧
  14. TypeUtils -- Object 转为 强类型
  15. PHP通过URL获取文件大小
  16. C#-Xamarin的Activity传值与Fragment引用
  17. 图示Java类的初始化顺序
  18. springboot整合druid连接池、mybatis实现多数据源动态切换
  19. 11G新特性 -- Result Cache
  20. 使用py2exe转换python文件为可执行程序

热门文章

  1. H265编码等级以及图像的基础知识
  2. depth/stencil buffer的作用 ----------理解模板缓存 opengl
  3. PAT Basic 1053 住房空置率 (20 分)
  4. zencart批量更新后台邮箱地址sql
  5. layui模块化使用
  6. 【Java 基础实验_Bank项目_06】单例模式(Static Bank) , 查询异常输出
  7. CSRF(cross-site request forgery )跨站请求攻击
  8. 4.使用webpack-dev-server工具实现自动打包编译的功能
  9. solr query没有反应,地址报错查询的地址error
  10. vue前端项目优化策略