15.游标.pptxVIP

  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文档。上传文档
查看更多
15.游标

Oracle SQL和PL/SQL编程游标目标确定何时需要显示游标声明、打开和关闭显示游标从显示游标中提取数据了解与游标有关的属性使用游标FOR循环检索游标中的数据在游标FOR循环的子查询中声明游标评估使用逻辑运算符结合在一起的布尔条件游标 3-1在使用一个PL/SQL块来执行DML语句或只返回一行结果的SELECT语句时,将创建一个隐式游标。可用将游标视为内存中的一个数组或区域,它包含当前处理的值。当SELECT语句返回多行结果时,用户必须创建一个显示游标。然后查询所返回的数据就将放在显示游标中进行处理。游标 3-2DECLARE v_title books.title%TYPE; v_retail books.retail%TYPE; BEGIN SELECT title,retail INTO v_title,v_retail FROM books NATURAL JOIN orderitems WHERE order#=1012; DBMS_OUTPUT.PUT_LINE(Books title: ||v_title|| Retail price: ||v_retail);END;示例:显示当用户没有创建一个显示游标以获得多行结果时发生的情况。游标 3-3示例中虽然包括了一个WHERE子句来确保只处理一个订单,但是在这个订单中包括了不止一本书。当PL/SQL块将会检索多个行时,必须使用显示游标来存储要处理的数据。与Oracle自动维护的隐式游标不同,必须通过PL/SQL语句来手工声明、打开和关闭显示游标。声明显示游标 2-1CURSOR cursor_name IS selectquery;DECLARE CURSOR books_cursor IS SELECT title,retail FROM books NATURAL JOIN orderitems WHERE order#=1012;声明显示游标的命令显示游标是在PL/SQL块的声明部分声明的。声明游标的语法:前面示例中,需要一个显示游标来检索订单1012中的图书的书名和零售价。声明显示游标 2-2示例中声明了一个名为BOOKS_CURSOR的游标来存储行。然后SELECT语句将检索图书的书名和零售价。游标的结构是由使用SELECT语句检索的数据定义的。注意:虽然需要每一本书的ISBN来联接BOOKS表和ORDERITEMS表,以便确定要选择的正确图书,但是在游标本身中并没有包括这一列。目前只是声明了游标,在进行任何处理之前,必须首先打开游标。打开显示游标OPEN cursor_name;OPEN books_cursor;在打开游标时,将分配必要的内存,执行SELECT语句,然后SELECT子句检索的数据加载到游标中。打开游标的语法示例:打开游标之后,可以将游标中包含的数据赋给变量以进行处理关闭显示游标CLOSE cursor_nameCLOSE books_cursor;从游标中检索了所有数据之后,必须明确关闭它。在PL/SQL块的可执行部分使用CLOSE命令来关闭显示游标CLOSE命令的语法从显示游标中提取数据FETCH cursor_name INTO variablename[,…variablename];FETCH books_cursor INTO v_title,v_retail;SELECT语句不能用来检索显示游标中的数据。必须使用FETCH命令来提取这种游标中的数据。FETCH命令检索游标中的行,然后将值赋给变量。注意,必须首先在PL/SQL块的声明部分声明变量,然后才能在可执行部分引用它们。FETCH命令语法:从显示游标中提取数据示例:显示游标的使用DECLARE v_title books.title%TYPE; v_retail books.retail%TYPE; CURSOR books_cursor IS SELECT title,retail FROM books NATURAL JOIN orderitems WHERE order#=1012;BEGIN OPEN books_cursor; FETCH books_cursor INTO v_title,v_retail; DBMS_OUTPUT.PUT_LINE(Books title: ||v_title|| Retail price: ||v_retail); CLOSE books_cursor;END;从显示游标中提取数据解释示例语句声明部分定义了变量v_title 和v_retail 以及名为books_cursor 的游标。游标是由一个SELECT语句定义的,该语句检索包括在订单1012中的图书的书名和零售价。这个块的可执行部分,打开了之前声明的游标。

文档评论(0)

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

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

1亿VIP精品文档

相关文档