1、概要:
视图是一个虚拟表,视图并不在其中存储数据,数据库只能在数据字典中定义视图。
2、优点:
为用户集中数据,简化用户的数据查询与处理。
屏蔽数据库的复杂性,用户不必要了解数据库的复杂性。
简化用户权限的管理,只授予用户使用视图的权限。
便于数据共享,多个用户不必要都定义所需的数据。
可以重新组织数据,以便关联到其他应用中。
3、语法:
CREATE[ORREPLACE]VIEWview_name[(column_name1[,column_name2… AS select_statement [WITHCHECKOPTION] [WITHREADONLY]
CREATEORRepalce:用于创建和修改视图 WITHCHECKOPTION:用于创建限制数据访问的视图 WITHREADONLY:用于创建只读视图
4、视图类别
4.1、简单视图
指基于单个表并且不包含函数或表达式的视图,在该视图上可以执行DML语句(即可执行增、删、改操作)。
4.2、复杂视图
指包含函数、表达式或者分组数据的视图,在该视图上执行DML语句时必须要符合特定条件。
注:在定义复杂视图时必须为函数或表达式定义别名
4.3、连接视图
指基于多个表建立的视图,一般来说不会在该视图上执行INSERT、UPDATE、DELETE操作。
4.4、只读视图
指只允许进行SELECT操作的视图,在该视图时指定WITHREADONLY选项。
注:该视图上不能执行INSERT、UPDATE、DELETE操作。
4.5、check约束视图
WITHCHECKOPTION用于在视图上定义CHECK约束,即在该视图上执行INSERT或UPDATE操作时,数据必须符合查询结果
5.如何查询视图和表的更新权限
selecttable_name,column_name,updatable,insertable,deletable fromuser_updatable_columns; 说明 updatable表示当前字段是否可以执行修改操作 insertable表示当前字段是否可以执行添加操作 deletable表示当前字段是否可以执行删除操作
6.视图的状态
当创建视图后,ORACLE将会验证视图的有效性,如修改了基本表,则会导致视图的无效状态.可查询数据字典user_objects的status.
1)、创建表T,包含ID和NAME两列;
2)、使用该表创建一个视图t_view,查看该表所有信息;
3)、使用该表创建一个视图t_view2,查看该表的ID和NAME列
4)、查看该视图状态;
5)、在表T上增加一列性别sex,重新查看视图t_view的状态.
6)、在表T上删除列NAME,重新查看视图t_view2的状态.
注:VALID表示正常状态,invalid表示非正常状态
转载于:https://www.cnblogs.com/HEWU10/p/4280998.html