- 1、本文档共119页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 11g数据库应用教程 第10章 PL/SQL语言及编程 本章概述 本章的学习目标 主要内容 10.1 PL/SQL简介 10.1.1 语言结构 10.1.2 PL/SQL示例程序 主要内容 10.2.5 循环语句 主要内容 10.3 常用函数 10.3.3 日期型函数 主要内容 10.4 游标 10.4.1 显式游标 10.5 异常处理 主要内容 主要内容 10.7 习题 4. %ROWCOUNT 该属性记录了游标提取过的记录行数,也可以理解为当前游标所在的行号。这个属性在循环判断中也很有效,使得不必提取所有记录行就可以中断游标操作。 【例10-39】重新定义例10-38的游标,要求只读取前4条记录,代码如下,执行结果如图10-37所示。 DECLARE rec_Dept User_Yao.Dept%ROWTYPE; --定义游标 CURSOR MyCur2 IS SELECT * FROM User_Yao.Dept; BEGIN IF MyCur2%ISOPEN= FALSE THEN OPEN MyCur2; --打开游标 END IF; FETCH MyCur2 INTO rec_Dept;--读取当前游标位置的数据 WHILE MyCur2%FOUND --如果当前游标有效,则执行循环 LOOP DBMS_OUTPUT.PUT_LINE(系部编号:||rec_Dept.Dept_ID||,系部名称:||rec_Dept.Dept_Name||, 系主任:||rec_Dept.Director);--显示读取的数据 IF MyCur2%ROWCOUNT=4 THEN --表示只读取4条记录 EXIT; END IF; FETCH MyCur2 INTO rec_Dept;--读取当前游标位置的数据 EXIT WHEN MyCur2%NOTFOUND; END LOOP; CLOSE MyCur2;--关闭游标 END; 图10-37例10-39运行结果 10.4.4 游标变量 如同常量和变量的区别一样,前面所讲的游标都是与一个SQL语句相关联,并且在编译该块的时候此语句已经是可知的、是静态的,而游标变量可以在运行时与不同的语句关联,是动态的。游标变量被用于处理多行的查询结果集。在同一个PL/SQL块中,游标变量不同于特定的查询绑定,而是在打开游标时才确定所对应的查询。因此,游标变量可以依次对应多个查询。 使用游标变量之前,必须先声明,然后在运行时必须为其分配存储空间,因为游标变量是REF类型的变量,类似于高级语言中的指针。 1. 游标变量的声明 游标变量是一种引用类型。当程序运行时,它们可以指向不同的存储单元。如果要使用引用类型,首先要声明该变量,然后相应的存储单元必须要被分配。PL/SQL中的引用类型通过下述的语法进行声明: REF type 其中,type是已经被定义的类型。REF关键字指明新的类型必须是一个指向经过定义的类型的指针。因此,游标可以使用的类型就是REF CURSOR。 定义一个游标变量类型的完整语法如下: TYPE 类型名 IS REF CURSOR RETURN 返回类型; 其中,类型名是新的引用类型的名字,而返回类型是一个记录类型,它指明了最终由游标变量返回的选择列表的类型。 游标变量的返回类型必须是一个记录类型。它可以被显式声明为一个用户定义的记录,或者隐式使用%ROWTYPE进行声明。在定义了引用类型后,就可以声明该变量了。 2. 游标变量的打开 如果要将一个游标变量与一个特定的SELECT语句相关联,需要使用OPEN FOR语句, 其语法是: OPEN 游标变量 FOR SELECT语句; 如果游标变量是受限的,则SELECT语句的返回类型必须与游标所限的记录类型匹配, 如果不匹配,Oracle会返回错误ORA_6504。 3. 游标变量的关闭 游标变量的关闭和静态游标的关闭类似,都是使用CLOSE子句,这会释放查询所使用的空间。关闭已经关闭的游标变量是非法的。 10.4.5 游标FOR循环 游标FOR循环是显示游标的一种快捷使用方式,它使用FOR循环依次读取结果集中的行数据。当FOR循环开始时,不需要使用OPEN语句,游标被自动打开;每循环一次,系统自动读取游标当前行的数据,不需要FETCH语句;当退出FOR循环时,不需要使用
您可能关注的文档
- Oracle 10g管理及应用王路群电子教案及练习答案 第六章 数据库的常规管理.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第七章 Oracle对象管理.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第三章 Oracle10g体系结构.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第十一章 数据库的备份与恢复.doc
- Oracle 10g管理及应用王路群电子教案及练习答案 第十章 审计与优化.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第四章 用SQL语言访问数据库.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第五章 SQL Plus基础.ppt
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 必修课教材征订单.doc
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 大型数据库技术教学大纲.doc
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 教学日历软件10级(大型数据库技术).doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)