第07章 oracle——其他常用方案对象.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第07章 oracle——其他常用方案对象

提问 将30,000 名参加伦敦马拉松比赛的选手姓名输入到数据库中,同时确保每个人的标识号都唯一,怎么办! 自动生成唯一编号 提问 如果在吃完午饭回来后其他人已经录入了一些长跑运动员的申请,情况又会怎样?你如何知道该从哪里开始? 查询编号的当前值和下一个值 提问? 如果伦敦马拉松的报名人数超过50,000 名,需要添加更多的编号,该怎么办? 可以更改该序列,增加MAXVALUE 的值,同时保留现有编号顺序不变。 本章课后练习 完成本章课后练习(打印稿)里各项试题。 课后复习/预习思考题 预习课本第八章 Oracle支持的SQL以下思考题。《查阅相关参考书籍》 1.Oracle中对空值的处理有哪些函数? 2.什么是Top-n查询,Top-n查询一般应用在什么场合 3.Oracle中怎么实现数据分组, ROLLUP与CUBE ,GROUPING SETS怎么实现复杂的数据分组统计。 4.表的连接有哪几种类型,执行的过程是怎样的? 5.什么是子查询,子查询有几种类型,他们的执行过程是怎样的? WITH子句的子查询的具体应用在什么场合? 6.什么是层次查询查询,层次查询有哪些具体应用? 第7章 其他常用方案对象 教学目标 掌握创建,修改,删除序列的方法。 掌握创建,修改,删除同义词的方法。 序列用于产生惟一序号的数据库对象,用于为多个数据库用户依次生成不重复的连续整数。一般形象地称为序列生成器 通常使用序列自动生成表中的主键值。 序列产生的数字最大长度可达到38位十进制数。 序列不占用实际的存储空间,在数据字典中只存储序列的定义描述。 7.1 序列 7.1.1创建序列 创建序列语法 CREATE SEQUENCE [schema.]sequence [ INCREMENT BY n] [ START WITH n] [ MAXVALUE n | NOMAXVALUE] [ MINVALUE n | NOMINVALUE] [ CYCLE | NO CYCLE] [ CACHE n | NO CACHE] [ ORDER | NO ORDER] ; keyword 描述 increment by 定义序列号是上升还是下降,对于一个降序的序列increment by为负值。 start with 定义序列生成的第一个数字,缺省为1。 maxvalue 序列能生成的最大数字。这是升序序列中的限制值。 no maxvalue 没有最大值限制。 minvalue 定义序列可以生成的最小值,这是降序序列中的限制值。 no minvalue 没有最小值限制。 cycle 设置序列值在达到限制值以后可以重复。 nocycle 设置序列值在达到限制值以后不能重复,这是缺省设置。当试图产生maxvalue+1的值时,将会产生一个异常。 cache 定义序列值占据内存块的大小,缺省值为20。 nocache 在每次序列号产生时强制数据字典更新,保证在序列值之间没有间隔。 USER_SEQUENCES 查询序列信息(数据字典) NEXTVAL:序列的下一个新的序号值 CURRVAL:序列的当前序号值 引用方法 在NEXTVAL和CURRVAL之前冠以序列的名字 用“.”连接 一般在SELECT语句中使用 SELECT 序列.nextval FROM dual; SELECT 序列.currval FROM dual; 7.1.2NEXTVAL和CURRVAL伪列 商店: NEXTVAL :“排队取号”,机器生成客户取得的号票 (NEXTVAL)。 职员准备接待该顾客时,将呼叫 CURRVAL 例 :某电子商务网站估计每月产生近千万条订单记录。该网站采用年YYYY+月MM+当月流水号nnnnnnnn的形式标识和区分每一份订单。当有用户提交一份订单时,系统自动生成该订单的编号并告知用户这个唯一的订单号。 要求创建一序列,用于生成每月的订单流水号。 CREATE SEQUENCE order_seq INCREMENT BY 1 START WITH CACHE 500 NOCYCLE; SELECT order_seq.NEXTVAL FROM DUAL; SELECT order_seq.CURRVAL FROM DUAL; SELECT order_seq.NEXTVAL FROM DUAL; 必须先在当前用户会话中用NEXTVAL 生成一个序列号,然后才能引用CURRVAL。 必须用序列名来限定CURRVAL。 COL sequence_name FORMAT A13 SELECT sequence_name, min_value,

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档