视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束)
视图是按照你的sql语句生成的一个虚拟的东西,本身并不占数据库空间,当你表里的数据增加或者删除的时候,你视图里的内容也随着变化总之你不能对视图进行update或者insert into操作说白了,就是视图的变化随着表的变化而变化除非重新create or replace view_a 才能把这个视图中的东西更改掉
创建视图方法:create view 视图名 (字段1,字段2,........) as select 字段1,字段2,...... from 数据来源表或者:
create view 视图名 as select * from ……
还有,create or replace view 视图名 as ……
说一下区别:
create or replace view:先判断,若数据库中存在此视图的话就覆盖它,没有的话就创建。
create view :此方法没有判断,如果数据库中存在此视图,就会报错。