04 PLSQL编程基础 - 4-游标讲解.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cursor FOR Loops Using Subqueries You do not need to declare a cursor because PL/SQL lets you substitute a subquery. Class Management Note This syntax simplifies the coding of cursors, but you cannot define a cursor with parameters. Cursor FOR Loops Using Subqueries You do not need to declare a cursor because PL/SQL lets you substitute a subquery. Class Management Note This syntax simplifies the coding of cursors, but you cannot define a cursor with parameters. Cursor FOR Loops Using Subqueries You do not need to declare a cursor because PL/SQL lets you substitute a subquery. Class Management Note This syntax simplifies the coding of cursors, but you cannot define a cursor with parameters. Cursor FOR Loops Using Subqueries You do not need to declare a cursor because PL/SQL lets you substitute a subquery. Class Management Note This syntax simplifies the coding of cursors, but you cannot define a cursor with parameters. 每一条被Oracle服务器执行的SQL语句都有一个独立的游标与之相关联: 隐式游标 Implicit cursors: 用于所有的DML和PL/SQL的SELECT语句。 显式游标 Explicit cursors: 被程序显式声明和命名。 所定义的SQL语句必须只包含select语句,并且不能用insert、update或delete关键字。 当select语句可能返回零或多于一行时,必须用显式游标。 当Select语句预计只返回一行时,隐式游标将做得更好。 使用SQL游标属性,能够测试SQL语句的执行结果。 在PL/SQL中用“SQL”引用最近的隐式游标。在程序中不能用OPEN、FETCH和CLOSE语句控制隐式游标。显示游标在后续课程中讲解。 属性 含义 SQL%ROWCOUNT 返回最近执行的SQL语句,所影响的行数(一个整数值)。 SQL%FOUND Boolean属性,如果最近执行的SQL语句影响了一行或多行则返回TRUE。 SQL%NOTFOUND Boolean属性,如果最近执行的SQL语句没有影响了任何行则返回TRUE。 SQL%ISOPEN ORACLE在执行每一个相关的SQL语句后,自动地关闭SQL游标,所以返回值总是FALSE set serveroutput on; DECLARE v_empno NUMBER := 7788; rows_deleted VARCHAR2(100); BEGIN DELETE FROM emp WHERE empno = v_empno; rows_deleted := SQL%ROWCOUNT|| rows deleted.; dbms_output.put_line(rows_deleted); END; 例子:从表rooms中删除指定的room_id行,并打印删除的行数。 Result Set Current Row Cursor 7369 SMITH CLERK 7566 JONES MANAGER 7788 SCOTT ANALYST 7876 ADAMS CLERK 7902 FORD ANALYST 显式游标功能 能够一行一行的处理多行查询结果。 能够记录和跟踪当前正在处理的行。 在PL/SQL块中允许程序手工控制游标。 声明游标 DECLARE 为查询打开游标 OP

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档