SQL Server 数据库之视图(三)

视图(三)

  • 1. 概述
  • 2. 在视图中插入数据记录
  • 3. 在视图中修改数据记录
  • 4. 在视图中删除数据记录

1. 概述

由于视图是一张虚表,对视图的更新最终实际上是转换成对视图的基本表的更新,因此可通过更新视图的方式实现对表中数据的更新;
视图的更新操作包括插入、修改和删除数据,可使用 SSMS 或 T-SQL 在 SQL Server 数据库中修改基础表的数据;

2. 在视图中插入数据记录

通过视图插入数据时,必须保证未显示的列有值,该值能是默认值NULL值;
假设在 test 上创建了一个视图,test 有 a1、a2 和 a3 三列,视图创建在 a1 和 a2 上,通过视图对 test 插入输入数据时,必须保证 a3 有值(可以为默认值或 Null 值),否则不能想视图插入行;
在视图中插入数据记录,质是向构成视图的基本表中插入数据,操作步骤如下:

  1. SSMS展开包含视图的数据库,展开视图
  2. 右击该视图,选择编辑前200行
  3. 结果 窗格中,向下滚动到行结尾插入新值,若视图引用多个表,则不能插入行,如下图所示:SQL Server 数据库之视图(三)_第1张图片

3. 在视图中修改数据记录

与视图中插入数据的操作相似,在视图中修改数据记录的实质就是针对基本表的操作,操作步骤如下:

  1. SSMS中展开包含视图的数据库,展开视图
  2. 右击该视图,选择编辑前200行
  3. 结果 窗格中,找到要更改的行,若要更改一个或多个行中的数据,修改列中的数据即可,如下图所示:SQL Server 数据库之视图(三)_第2张图片

4. 在视图中删除数据记录

通过视图也能从表中删除行,该视图不必显示底层表中的所有列;此处需要注意的是,该视图的数据必须来源于一个单表,即视图的 SELECT 语句必须只引用单个表,就是删除目标基础表只能是单表,具体操作步骤如下:

  1. SSMS 中展开包含视图的数据表,展开视图
  2. 右击该视图,选择编辑前200行
  3. 结果窗格中找到要删除的行,右击该行,选择删除;若视图引用多个表,则不能删除行,只能更新属于单个基表的列,如下表:
    SQL Server 数据库之视图(三)_第3张图片
    视图的删除与普通关系表的删除是有一些区别的,删除基本表是不存在关联的;
    删除视图与删除基本表最大的不同点是删除视图仅仅是删除了视图的组织架构,用户以后不能再用这个视图来进行操作,但组成视图内容的数据并没有被删除,仍保存在原来的关系表中,同时,其处理方式与关系表的相应处理方式类似;

你可能感兴趣的:(sqlserver,数据库,视图)