- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 视图、序列、索引和同义词;建立视图;OR REPLACE:允许新视图替换已存在的一个同名视图。
FORCE:即使在基本表不存在或对这些表无访问权限时,也可建立视图。不过,这个视图在表被建立和被授权访问它们之前一直处于无效状态。
WITH READ ONLY:只允许查询访问视图。
WITH CHECK OPITION:如果关联视图使用此选项建立,将完全不能插入,但能删除和修改。; CREATE OR REPLACE FORCE VIEW TMP_VIEW
AS
SELECT a.empno, a.ename, b.dname
FROM emp a, DEPT b
where a.deptno=b.deptno;;使用视图;Oraclec允许对视图执行UPDATE、INSERT和DELETE语句。
如果一个视图包括了基本表中的所有列,并仅有一个WHERE子句来限制那些返回的行,那么Oracle将允许更新这个视图。
对于没有保存至少一个基本表的主键的那些视图是不能被更新的。另外一些处理汇部数据、基于表达式的列、联合和某种关联的视图也不能被更新。 ;比如:
带有INTERSECT、UNION或MINUS等集合操作符的视图
带有GROUP BY、CONNECT BY或START WITH子句的视图
带有AVG、SUM或MAX等组函数的视图
带有DISTINCT的功能的视图;
如果不清楚指定的视图是否可以更新,或可以更新哪些列,可以查询USER_UPDATABLE_COLUMNS数据字典视图。 ;例如查询上例中建立的视图TMP_VIEW是否可以更新可以执行如下操作:
select column_name, updatable
from user_updatable_columns
where table_name=TMP_VIEW;;重新编译视图;重建视图;删除视图;查看视图信息;查询用户bookcreator所拥有的全部视图的名称、类型
select view_name
from all_views
where owner=‘BOOKCREATOR’;;序列管理;创建序列;START WITH 1用于指定初始值是1。
INCREMENT BY 1用于指定每次访问自动增加1,如果INCREMENT BY后面跟一个负值,则序列将是降序的。
ORDER用于保证每个序列的值都将比先前的值大。
使用NOCYCLE设置序列值在达到限制值以后不能重复,这是缺省设置。当试图产生MAXVALUE+1的值时,将会产生一个异常。 ;其它关键字还有:
MINVALUE:定义序列可以生成的最小值,这是降序序列中的限制值。缺省情况下该值为NOMINVALUE,对于升序为1,对于降序为-10E26。
MAXVALUE:序列能生成的最大数字。这是升序序列中的限制值,缺省的MAXVALUE为NOMAXVALUE,对于升序为10E26,对于降序为-1。
CYCLE:设置序列值在达到限制值以后可以重复。
CACHE:定义序列值占据的内存块的大小,缺省值为20。
NOCACHE:在每次序列号产生时强制数据字典更新,保证在序列值之间没有间隔当创建序列时,START WITH值必须等于或大于MINVALUE。;改变序列;修改一个序列,使用ALTER SEQUENCE实现。
如修改序列stuenno的cache属性为30,且不可循环使用
ALTER SEQUENCE stuenno
nocycle
cache 30;;删除序列;序列的应用;注意:DEPTNO是主键,其值类型是NUMBER型,且长度是6位。所以将要建立的序列的最大值不能超过999999。
CREATE SEQUENCE sqc_dept_key
NOCYCLE
MAXVALUE 999999
START WITH 1;;可通过nextval和currval伪列来引用序列,每引用一次序列的伪列nextval,就会按照序列的定义产生一个新的序列码;通过序列的伪列currval可以反复利用当前的序列码。;可以在如下场合使用序列的nextval和currval伪列:
Insert语句的values子句中
Select语句中的前面选择的表列名中
Update语句中的set子句;在如下场合不能够使用nextval或currval伪列:
子查询
视图或快照的定义查询
带有distinct操作符的select语句
带有group by或order by子句的select语句
通过union、intersect或minus与另一个select语句相结合的select语句中
Select语句的where子句中
Create table或alter tabl
您可能关注的文档
最近下载
- 食品生产监督检查要点_培训讲座课件.pptx
- 变更工程施工方案申请(3篇).docx VIP
- 智慧方案智慧矿山整体解决方案(41页PPT).pptx VIP
- 舒曼声乐套曲《戒指在我手上》Op.42, No.4 (Du Ring an meinem Finger)声乐+钢琴伴奏谱 带歌词.pdf VIP
- ISO11898-2中文版完整文件.docx VIP
- 职业病知识培训职业健康检查课件.pptx VIP
- 2025版《煤矿安全规程》宣贯培训课件.pptx VIP
- 球磨机安全事故案例课件.pptx VIP
- 药物不良反应的识别与处理.pptx VIP
- T_CCMA 0113-2021 高空作业车 检查与维护规程.docx VIP
文档评论(0)