欢迎来到天天文库
浏览记录
ID:58045105
大小:652.50 KB
页数:86页
时间:2020-09-04
《Oracle9i第9章视图、序列、索引和同义词.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章视图、序列、索引和同义词建立视图视图的使用与基表类似,要有视图名及相应的列。生成一个视图可使用CREATEVIEW命令。其语法格式如下:CREATEORREPLACEFORCEVIEWviewnameAS[WITHREADONLY]
2、[WITHCHECKOPITION]ORREPLACE:允许新视图替换已存在的一个同名视图。FORCE:即使在基本表不存在或对这些表无访问权限时,也可建立视图。不过,这个视图在表被建立和被授权访问它们之前一直处于无效状态。WITHREADONLY:只允许查询访问视图。WITHCHECKOPIT
3、ION:如果关联视图使用此选项建立,将完全不能插入,但能删除和修改。CREATEORREPLACEFORCEVIEWTMP_VIEWASSELECTa.empno,a.ename,b.dnameFROMempa,DEPTbwherea.deptno=b.deptno;使用视图一旦建立了一个视图,就可以把它当作一个表从中查询数据。CREATEORREPLACEFORCEVIEWTMP_VIEWASSELECTa.empno,a.ename,b.dnameFROMempa,DEPTbwherea.deptno=b.deptno;select*fromtmp
4、_view;Oraclec允许对视图执行UPDATE、INSERT和DELETE语句。如果一个视图包括了基本表中的所有列,并仅有一个WHERE子句来限制那些返回的行,那么Oracle将允许更新这个视图。对于没有保存至少一个基本表的主键的那些视图是不能被更新的。另外一些处理汇部数据、基于表达式的列、联合和某种关联的视图也不能被更新。比如:带有INTERSECT、UNION或MINUS等集合操作符的视图带有GROUPBY、CONNECTBY或STARTWITH子句的视图带有AVG、SUM或MAX等组函数的视图带有DISTINCT的功能的视图;如果不清楚指定
5、的视图是否可以更新,或可以更新哪些列,可以查询USER_UPDATABLE_COLUMNS数据字典视图。例如查询上例中建立的视图TMP_VIEW是否可以更新可以执行如下操作:selectcolumn_name,updatablefromuser_updatable_columnswheretable_name='TMP_VIEW';重新编译视图任何时间改变一个视图的查询所引用的对象时,Oracle将标记该视图无效。再次使用视图前它必须被重新编译。从新编译一个视图语法如下:ALTERVIEWviewnameCOMPILE;alterviewbookaut
6、hor_viewcompile;alterviewbookonwebcompile;重建视图修改视图所能处理的操作只是重新编辑视图。若想改变视图的定义,必须重建视图。若想修改视图bookonweb的定义为所有上网的且出版日期在1995年1月1日之后的书目信息,需要重建视图bookonweb。createorreplaceviewbookonwebasselect*frombookinfowherestatus=‘y’andpublishtime>’1-1月-95’withreadonly;删除视图可以使用DROPVIEW命令从数据库中删除视图。其格式为
7、:dropview[schema.]viewname;dropviewbookauthor_view也可以使用OEM通过右击视图从弹出菜单中选择“删除”来删除一个视图。查看视图信息视图创建后,可以通过数据字典中的一些有关视图信息的视图来查看视图。视图名称说明DBA_VIEWS包含了数据库中所有的视图信息ALL_VIEWS包含了当前用户可以访问的所有视图信息USER_VIEWS包含了当前用户所拥有的所有的视图信息DBA_UPDATABLE_COLUMNS包含了数据库中所有的连接多个表的可更新视图有关的表列信息ALL_UPDATABLE_COLUMNS包含
8、了当前用户可以访问的所有的连接多个表的可更新视图的表列信息USER_UPDATABLE_COLUMNS包含了当前用户拥有的所有的连接多个表的可更新视图的表列信息查询用户bookcreator所拥有的全部视图的名称、类型selectview_namefromall_viewswhereowner=‘BOOKCREATOR’;序列管理Oracle序列是一个连续的数字生成器。比如希望表的主键是一个数字,并且希望每次向表中插入新行时那个数字能自动增加,或正在建立审计跟踪时,需要知道生成这些审计跟踪记录的确切的顺序,而靠一个时间戳通常不足以实现这些功能。序列只存
9、在于数据字典中。序列号可以被设置为上升、下降,可以没有限制或重复使用直到一个限制值。创建序列创
此文档下载收益归作者所有