MS SQL基础教程:通过视图管理数据

视图与表具有相似的结构,当向视图中插入或更新数据时,实际上对视图所引用的表执行数据的插入和更新。但是通过视图插入、更新数据和表相比有一些限制,下面通过具体的例子来讲述通过视图插入、更新数据以及其使用的限制。

使用SELECT 语句,可以在视图和表中查到该条记录。但是如果执行下面的语句,虽然仍可以成功执行,但只可以在表而不是视图中查到该条数据。

注意:由于向视图插入数据实质是向其所引用的基本表中插入数据,所以必须确认那些来包括在视图列但属于表的列允许NULL值或有缺省值。

若要执行INSERT 语句,则在同一个语句只能对属于同一个表的列执行操作。所以,若向视图au_title 中插入一行数据,只能分别执行以下语句:

insert into au_title (author_au_id, au_lname, au_fname, contract)

values ('234-34-4611','John','Smith', 1)

insert into au_title (title_au_id, title_id, au_ord, royaltyper)

values ('234-34-4611','BU1111',1,50)

通过视图对数据进行更新与删除时需要注意到两个问题:

执行UPDATE DELETE 时,所删除与更新的数据,必须包含在视图结果集中;

如果视图引用多个表时,无法用DELETE 命令删除数据,若使用UPDATE 则应与INSERT 操作一样,被更新的列必须属于同一个表。

查看全套"MS SQL入门基础教程"

时间: 2024-11-01 22:03:11

MS SQL基础教程:通过视图管理数据的相关文章

MS SQL基础教程:视图简介

视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言这些数据列和数据行来源于其所引用的表.所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中. 视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据.对视图的操作与对表的操作一样,可以对其进行查询.修改(有一定的限制

MS SQL基础教程:权限管理

14.4.1 权限管理简介 用户在登录到SQL Server 之后,其安全账号(用户账号)所归属的NT 组或角色所被授予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问.修改哪些数据.在SQL Server 中包括两种类型的权限,即对象权限和语句权限. (1) 对象权限 对象权限总是针对表.视图.存储过程而言,它决定了能对表.视图.存储过程执行哪些操作(如UPDATE. DELETE. INSERT. EXECUTE).如果用户想要对某一对象进行操作,其必须具有相应的操作的权限.例

MS SQL基础教程:角色管理

14.5.1 角色管理简介 自SQL Server 7 版本开始引入了新的概念角色,从而替代以前版本中组的概念.和组一样,SQL Server 管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可实现对所有用户权限的设置,大大减少了管理员的工作量.在SQL Server 中主要有两种角色类型:服务器角色与数据库角色. 1 服务器角色 服务器角色是指根据SQL Server 的管理任务,以及这些任务相对的重要性等级来把具有SQL Server 管理职能的用户划分成不同的用户组,每一组所

MS SQL基础教程:用户和安全性管理--SQL Server的登录认证

对任何企业组织来说,数据的安全性最为重要.安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server 并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作.因此,安全性管理与用户管理是密不可分的.SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易. 本章主要讨论如何创建和管理用户账号,以及如何实现和管理安全性,同时包括很多技巧和注意事项,这些技巧和注意事项将使您的工作更轻松,高效. SQL Server

MS SQL基础教程:SQL Server安全性管理的途径

当在服务器上运行SQL Server 时,我们总是要想方设法去使SQL Server 免遭非法用户的侵入,拒绝其访问数据库,保证数据的安全性.SQL Server 提供了强大的内置的安全性和数据保护,来帮助实现这种理所当然的要求.从前面的介绍中我们可以看出SQL Server 提供了从操作系统,SQL ServerE, 数据库到对象的多级别的安全保护.其中也涉及到角色.数据库用户.权限等多个与安全性有关的概念.在本书前面我们也暗示过存储过程和触发器在保护数据安全性上不可小视的作用.现在我们面临的

MS SQL基础教程:存储过程概述

在大型数据库系统中,存储过程和触发器具有很重要的作用.无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合.就 本质而言,触发器也是一种存储过程.存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快.SQL Server 2000 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程. 12.1.1 存储过程的概念 存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库.中用户通过指定存储过程的

MS SQL基础教程:系统存储过程

系统存储过程就是系统创建的存储过程,目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其它的系统管理任务.系统过程以"sp_"_ 为开头,在Master 数据库中创建并保存在该数据库中,为数据库管理者所有.一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其它用户所使用. 系统存储过程主要包括以下几类:(这里主要给出每类系统过程中经常使用的系统过程) 查看全套"MS SQL基础教程"

MS SQL基础教程:备份和恢复概述

原理主要是为防止非法登录者或非授权用户对SQL Server 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心.例如合法用户不小心对数据库数据做了不正确的操作或者保存数据库文件的磁盘遭到损坏或者运行SQL Server 的服务器因某种不可预见的事情而导致崩溃.所以我们需要提出另外的方案即数据库的备份和恢复来解决这种问题.本章的主要目的就是介绍备份.恢复的含义,数据库备份的种类以及备份设备等基本的概念,以及如何创建备份和恢复数据库,使读者对其有全面的了解和认识,能够自主制定自己的备

MS SQL基础教程:创建备份设备

在进行备份以前首先必须创建备份设备.备份设备是用来存储数据库.事务日志或文件和文件组备份的存储介质.备份设备可以是硬盘.磁带或管道.SQL Server 只支持将数据库备份到本地磁带机,而不是网络上的远程磁带机.当使用磁盘时,SQL Server 允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的. 15.2.1 用SQL Server Enterprise Manager 管理备份设备 1 使用SQL Server Enterprise Manager 创建

MS SQL基础教程:备份和恢复系统数据库

系统数据库保存了有关SQL Server 的许多重要数据信息,这些数据的丢失将给系统带来极为严重的后果,所以我们也必须对系统数据库进行备份.这样一旦系统或数据库失败,则可以通过恢复来重建系统数据库.在SQL Server 中重要的系统数据库主要有master. msdb. distribution. model. 虽然tempdb 也是系统数据库但没有必要对其进行备份,因为SQL Server 每次启动都会重新创建该数据库,而当SQL Server 停止运行时,tempdb 数据库中所有数据都会