当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(91)

MSSQL
在SQL Server所在的计算机上运行病毒扫描软件
使用SQL Server导入和索引 Microsoft Word 文档
TOPN 子句与SET ROWCOUNTN 之对比
使用Transact-SQL计算SQL Server处理器的数量
SQL Server中全角和半角字符的比较问题
SQL Server数据库性能的优化
Win9x平台上SQL Server 2000的性能和局限
如何识别真实和自动创建的索引?
修复SQLSERVER2000数据库之实战经验
将一个更新划分为几个批次
一种基于记录集查找特定行的方法
将XML文件导入SQL Server 2000
将列更新从一个表传递到另一个表
打开UDP端口1434以浏览命名实例
如何使用系统管理员帐户管理多个开发人员?
设计数据库之经验谈
数据库的查询优化技术
小写转大写金额
SQL技巧:创建用来按小时报告的查询
SQL语句的自动优化

MSSQL 中的 SQL Server数据库技术(91)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 69 ::
收藏到网摘: n/a

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


    使用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 操作一样,被更新的列必须属于同一个表。