‘壹’ 数据库ORACLE中如何创建可以插入数据的视图
视图就是一个或多个表根据一定的sql语句生成的一个动态的结构。比如有两个表
表1
id name
1 aa
表2
id name
2 bbb
视图是
create view view1 as select * from 表1 union all select * from 表2;
视图的内容是
id name
1 aaa
2 bbb
当表1或表2里增加数据的时候,这个视图随着表是动态变化的,所以,视图不可以做增,删,改的操作
‘贰’ 关于向数据库中的view插入数据
有的VIEW可以插入数据,数据会保存在相应的表中,看建立的语句。
补充:
各类数据库可能对VIEW的INSERT和UPDATE规定有区别,下面是MYSQL的规定:
关于可插入性(可用INSERT语句更新),如果它也满足关于视图列的下述额外要求,可更新的视图也是可插入的:
·不得有重复的视图列名称。
·视图必须包含没有默认值的基表中的所有列。
·视图列必须是简单的列引用而不是导出列。导出列不是简单的列引用,而是从表达式导出的。下面给出了一些导出列示例:
·3.14159
·col1+3
·UPPER(col2)
·col3/col4
·(subquery)
混合了简单列引用和导出列的视图是不可插入的,但是,如果仅更新非导出列,视图是可更新的。考虑下述视图:
CREATEVIEWvASSELECTcol1,1AScol2FROMt;
该视图是不可插入的,这是因为col2是从表达式导出的。但是,如果更新时不更新col2,它是可更新的。这类更新是允许的:
UPDATEvSETcol1=0;
下述更新是不允许的,原因在于,它试图更新导出列:
UPDATEvSETcol2=0;
‘叁’ oracle数据库的view中能添加数据吗
不能添加数据。
不管是oracle还是sql server,view只是个视图,是虚拟存在的,并没有实际的对应物件,所以无法对view的资料进行修改。
只能通过view寻找到对应的table,再针对table进行数据的操作,
对table进行数据操作后,结果会反应到调用该table的view中。
‘肆’ 数据库ORACLE中如何创建可以插入数据的视图
1、视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。
2、OR REPLACE:如果视图已经存在,则替换旧视图。
3、FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。
4、NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。
5、 WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。
‘伍’ MVC可以在视图页面直接调用数据库的数据么
可以,但非常不建议,建议ajax调用
‘陆’ SQL中视图的定义与作用是什么做好结合实例讲解一下,视图能存储数据吗与表有什么区别
从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
更多视图的知识,请在这里查看
http://ke..com/view/71981.htm
语法
CREATE VIEW view [(field1[, field2[, ...]])] AS selectstatement
CREATE VIEW 语句可分为以下几个部分:
部分 说明
view 欲创建的索引的名称。
field1, field2 选择语句中标明的相应字段名.
示例:
CREATE VIEW Customers
AS
SELECT *
FROM CompanyData.dbo.Customers_33
‘柒’ 数据库中视图的作用
视图:是从一个或几个基本表(或视图)导出的虚拟表。
作用:1、视图能够简化用户的操作
2、视图使用户能以多钟角度看待同一数据
3、视图对重构数据库提供了一定程度的逻辑独立性
4、视图能够对机密数据提供安全保护
5、适当的利用视图可以更清晰的表达查询
6、int和integer什么区别。
‘捌’ 数据库视图是什么,有什么用,怎么用
你首先要理解什么是查询结果集
查询时实现数据库操作的最主要方法,尽管从查询结果集看到的数据集合与打开的数据表看到的数据集合一样,但实质是完全不同的:
*数据表是数据库中存放数据的实体对象,在数据表中看到的是数据的静态物理集合,是实际的数据源表。
*查询只是针对数据源的操作命令(程序),在查询结果中看到的是数据的动态逻辑集合,是执行命令对数据表操作的结果,十一哥虚拟的数据表。
视图的概念
我们经常使用SELECT语句,尤其是比较复杂的查询语句,如果每次使用都要重复地输入代码是很麻烦的,如果将该语句保存为一个对象,每次使用时不需要输入代码,只给出对象的名字就能方便地使用,简化查询操作。这个对象就是视图。
视图实际上就是给查询语句指定一个名字,将查询语句定义为一个独立的对象保存。
既然视图是由SELECT查询语句构成的,那么使用视图就可以直接得到SELECT语句的查询结果集,所以我们就可以这样为视图下一个定义:
视图:就是基于一个或多个数据表的动态数据集合,是一个逻辑上的虚拟数据表。
另一方面,视图又具有更强的功能:使用SELECT语句只能在结果集——动态逻辑虚拟表中查看数据,而使用视图不但可以查看数据,而且可以作为SQL语句的数据源,并且可以直接在视图中对数据表进行编辑修改删除——更新数据表中的数据。
‘玖’ 数据库视图的作用
* 简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
* 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用权限可被限制在基表的行的子集上。
使用权限可被限制在基表的列的子集上。
使用权限可被限制在基表的行和列的子集上。
使用权限可被限制在多个基表的连接所限定的行上。
使用权限可被限制在基表中的数据的统计汇总上。
使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
* 逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
二、视图的优点