通过视图管理数据

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


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

时间: 2024-08-06 08:44:59

通过视图管理数据的相关文章

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

视图与表具有相似的结构,当向视图中插入或更新数据时,实际上对视图所引用的表执行数据的插入和更新.但是通过视图插入.更新数据和表相比有一些限制,下面通过具体的例子来讲述通过视图插入.更新数据以及其使用的限制. 使用SELECT 语句,可以在视图和表中查到该条记录.但是如果执行下面的语句,虽然仍可以成功执行,但只可以在表而不是视图中查到该条数据. 注意:由于向视图插入数据实质是向其所引用的基本表中插入数据,所以必须确认那些来包括在视图列但属于表的列允许NULL值或有缺省值. 若要执行INSERT 语

利用excel视图管理器添加多个视图动画教程

<Excel2003入门动画教程29.利用视图管理器添加多个视图>. 演示动画 操作步骤 如果我们有一个保存了大量数据的Excel表格,根据使用对象的不同,常需要将其中不同部分的数据打印出来.通常的做法是,先将不需要打印的列隐藏起来,然后再打印.由于这样的"对象"众多,每次都要隐藏.打印.显示.再隐藏.再打印--非常麻烦.其实,我们可能用"视图管理器"来实现这种要求: 执行"视图→视图管理器"命令,打开"视图管理器"

DBA日常管理——数据归档(Archiving-Data)

原文:DBA日常管理--数据归档(Archiving-Data) 问题:        随着数据库越来越大,对性能及管理方面的挑战也会越来越大.每次查询可能需要查找更多的数据页,特别是当查询存在扫描操作时,会导致查询越来越慢.同时,需要备份的数据也会越来越多,备份操作持续越来越久.备份文件及数据库所使用的数据文件也会越来越大等等,一系列的问题都会随之产生.      此时数据归档就变成非常重要.数据归档和容量规划其实息息相关,不过容量规划将在别的文章中介绍.      数据归档的目标是监控数据的

在微服务中如何管理数据

来自Stitch Fix团队的工程副总裁Randy Shoup在QCon纽约2017会议上讨论了如何在基于微服务的应用中管理数据和隔离持久化.他还介绍了将事件(Event)作为微服务的第一类构造.他介绍自己的团队将机器学习技术应用到了业务的各个组成部分,比如购买.库存管理以及风格推荐等. 个性化推荐会基于库存运行机器学习,从而创建出推荐的算法.这些推荐算法随后会被全国范围内的设计师所监管,从而形成个性化风格的推荐. 微服务架构是渐进演化的.像eBay.Twitter和Amazon这样的组织都经历

请教各位朋友,Hibernate 能不能对oracle中视图的数据进行删除。目前只能查询

问题描述 请教各位朋友,Hibernate能不能对oracle中视图的数据进行删除.目前只能查询 解决方案 解决方案二:据我所知,视图中不能进行数据删除视图只是数据的映射吧,如果需要删除,只能操作源表请高手解答..解决方案三:不能,视图时不能修改的,如果你想修改视图就得建立触发器去操作.解决方案四:楼上都回答了啊解决方案五:谢谢各位的解答

java-如何在j2EE项目中采用Data Service 来管理数据 :支持数据的统一管理

问题描述 如何在j2EE项目中采用Data Service 来管理数据 :支持数据的统一管理 java项目中如何使用Dada Service 来管理项目: 要达到的目的:1,可以从多个数据源中加载数据,提供提供访问数据的统一接口 2,可以支持丰富的查询方式 ,实现内部的转换通过sqlParser 来对支持多种sql就如同 Apache 的calcite 项目中貌似可以找到蛛丝马迹,但是有好多的技术不是很了解 如:linq4jsparksplunkcsv ...等,有没有关于dataservice

oracle 11g-基于rowid的物化视图没有数据?????

问题描述 基于rowid的物化视图没有数据????? 本人刚刚接触物化视图,有些地方不太清楚,刚创建好的物化视图没有数据是几个意思啊? select 后面是多个表左连接,用的是(+)而不是left join ,哪位大神搭救一下??谢谢 create materialized view V_SHIPOWNER_ALL_TEST refresh complete on demand start with to_date('07-09-2015 12:00:00', 'dd-mm-yyyy hh24:

Active Energy Manager监视和管理数据中心的电力和环境状况

本文把部分 AEM 功能移植到移动上,以便用户随时随地地http://www.aliyun.com/zixun/aggregation/13750.html">监控数据中心的能源情况,并及时地发现异常情况而做出及时的处理. Active Energy Manager(AEM)是 IBM Systems Director 的插件,主要用于监视和管理数据中心的电力和环境状况.它可以监视多种 IT 设备,比如:BladeCenter.Power System.System x 和 System

机器学习如何帮助企业高效地管理数据?

机器学习是当今技术领域的热门话题.从自驾车,到反恐斗争中捕捉邪恶的内容,应用程序在您拍摄照片之前自动美图等,这些应用程序无处不在.每一项创新都创造了一个新的商业机会,同时简化和自动化通常远远超出了我们人类能够立即处理或花费一生处理的数据. 虽然机器学习是一个新兴的趋势,但其实也是一个突破.早在1959年,计算机科学和游戏先驱亚瑟·塞缪尔就将机器学习定义为"计算机没有被明确编程的情况下的学习能力". 由于计算机帮助我们在使用应用程序和服务的前端处理中收获了很多便捷,机器学习正在迅速转移到