- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例9-27】 在SCOTT模式下,创建一个序列empno_seq,代码及运行结果如下。( SQL connect scott/1qaz2wsx 已连接。 SQL create sequence empno_seq 2 maxvalue 99999 3 start with 9000 4 increment by 100 5 cache 50; ? 序列已创建。 对于上面创建的序列而言,序列empno_seq的第一个序列号为9000,序列增量为100,因为指定其最大值为9000,所以将生成的序列号为9100、9200、9300......等。 使用序列时,需要用到序列的两个伪列NEXTVAL与CURRVAL。其中NEXTVAL将返回序列生成的下一个序列号,而伪序列CURRVAL则会返回序列的当前序列号。需要注意,首次引用序列时,必须使用伪列NEXTVAL,下面来看一个例子。 【例9-28】 在SCOTT模式下,使用序列empno_seq为emp表的新纪录提供员工编号,代码及运行结果如下。 SQL insert into emp(empno,ename,deptno) 2 values(empno_seq.nextval,东方,20); ? 已创建 1 行。 执行以上语句后,会为emp表插入一条数据,并且empno列会使用序列empno_seq生成的序列号。 另外,如果用户确定当前序列号,可以使用伪列CURRVAL,如下面的例子。 【例9-29】 使用伪列CURRVAL查询当前的序列号,代码及运行结果如下。 SQL select empno_seq.currval from dual; ? CURRVAL ---------- 9000 说明: 实际上,在为表生成主键值时,通常是为表创建一个行级触发器,然后在触发器主体中使用序列值替换用户提供的值。关于如何使用触发器生成主键,可以参考第6章中有关行级触发器的应用。 使用ALTER SEQUENCE语句可以对序列进行修改。需要注意,除了序列的起始值START WITH不能被修改外,其它可以设置序列的任何子句和参数都可以被修改。如果要修改序列的起始值,则必须先删除序列,然后重键该序列,下面来看几个相关的例子。 【例9-30】 在SCOTT模式下,修改序列empno_seq的最大值为100000,序列增量为200,缓存值为100,代码及运行结果如下。 SQL alter sequence empno_seq 2 maxvalue 100000 3 increment by 200 4 cache 100; ? 序列已更改。 对序列进行修改后,缓存中的序列值将全部丢失。通过查询数据字典USER_SEQUENCES可以获得序列的信息,下面来看一下USER_SEQUENCES数据字典都包含哪些序列信息。 9.3.2 管理序列 【例9-31】 使用desc命令查看user_sequences的结构,代码及运行结果如下。 SQL desc user_sequences; 本例运行结果如图9-16所示。 图9-16 查询user_sequences的结构 另外,当序列不再需要时,数据库用户可以执行DROP SEQUENCE语句删除序列,来看下面的例子。 【例9-32】 使用drop sequence 语句删除empno_seq序列,代码及运行结果如下。 SQL drop sequence empno_seq; ? 序列已删除。 9.4 同义词 同义词是表、索引、视图等模式对象的一个别名。通过模式对象创建同义词,可以隐藏对象的实际名称和所有者信息,或者隐藏分布式数据库中远程对象的设置信息,由此为对象提供一定的安全性保证。与视图、序列一样,同义词只在Oracle数据库的数据字典中保存其定义描述,因此同义词也不占用任何实际的存储空间。 在开发数据库应用程序时,应该尽量避免直接引用表、视图或其它数据库对象的名称,而改用这些对象的同义词。这样可以避免当管理员对数据库对象做出修改和变动之后,必须重新编译应用程序。使用同义词后,即使引用的对象发生变化,也只需要在数据库中对同义词进行修改,而不必对应用程序做任何改动。 Oracle中的同义词分为两种类型:公有同义词和私有同义词。公有同义词被一个特殊的用户组PUBLIC所拥有,数据库中的所有用户都可以使用公有同义词。而私有同义词只被创建它的用户所拥有,只能由该用户以及被授权的其它用户使用。 建立公有同义词是使用CREATE PUBLIC SYNONYM语句完成的。如果数据库用户要建立公有同义
您可能关注的文档
- Linux操作系统实验与实训 作者 何文华 梁竞敏 实验15 邮件服务器的配置.ppt
- Linux操作系统实验与实训 作者 何文华 梁竞敏 实验16 NIS服务器的建立.ppt
- Linux操作系统实验与实训 作者 何文华 梁竞敏 实验17 IP路由的配置1.ppt
- Linux实用教程 陈博 孙宏彬 於岳 03.ppt
- Linux实用教程 陈博 孙宏彬 於岳 04.ppt
- Linux实用教程 陈博 孙宏彬 於岳 06.ppt
- Linux实用教程 陈博 孙宏彬 於岳 08.ppt
- Linux实用教程 陈博 孙宏彬 於岳 09.ppt
- Linux实用教程 陈博 孙宏彬 於岳 10.ppt
- Linux实用教程 第2版 作者 於岳 编著 01.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第10章 管理表空间和数据文件.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第11章 控制文件和日志文件.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第12章 表分区与索引分区.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第13章 用户管理与权限分配.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第14章 数据导出和导入.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第15章 Oracle闪回技术与系统调优.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第1章 案例数据库设计.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第2章 初识Oracle11g.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第4章 数据表操作.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第5章 数据查询操作.ppt
文档评论(0)