ORACLE/PLSQL 游标的简单使用

原创 2012年03月27日 21:49:53
游标的属性 %found,%notfound,%isopen,%rowcount。
    %found:若前面的fetch语句返回一行数据,则%found返回true,如果对未打开的游标使用则报ORA-             1001异常。
    %notfound,与%found行为相反。
    %isopen,判断游标是否打开。
    %rowcount:当前游标的指针位移量,到目前位置游标所检索的数据行的个数,若未打开就引用,返回ORA-1001。
1.方法一:
Declare
  Cursor my_cursor is select r.person_id,r.emp_number,r.emp_name from hr_user r where rownum between 1 and 10;
  My_rec my_cursor%rowtype;
Begin
  Open my_cursor; --如果这行错误可以注销
  loop
  Fetch my_cursor into My_rec ;
   DBMS_OUTPUT.PUT_LINE('员工号:' || My_rec.Person_Id ||  ',员工编号:' || My_rec.Emp_Number || ',员工姓名:' || My_rec.Emp_Name );
  Exit when my_cursor%notfound;
  End loop;
  Close my_cursor;
END;
2.方法二:
Declare
  Cursor my_cursor is select r.person_id,r.emp_number,r.emp_name from hr_user r where rownum between 1 and 10;
Begin
  For My_rec in My_cursor loop
    DBMS_OUTPUT.PUT_LINE('员工号:' || My_rec.Person_Id ||  ',员工编号:' || My_rec.Emp_Number || ',员工姓名:' || My_rec.Emp_Name );
  end loop;
END;
3.方法三:
Declare
  Cursor My_cursor is select r.person_id,r.emp_number,r.emp_name from hr_user r where rownum between 1 and 10;
  My_rec my_cursor%rowtype;
Begin
   Open my_cursor;
   Fetch My_cursor into My_rec;
   While (my_cursor%found) loop
    DBMS_OUTPUT.PUT_LINE('员工号:' || My_rec.Person_Id ||  ',员工编号:' || My_rec.Emp_Number || ',员工姓名:' || My_rec.Emp_Name );
   Fetch My_cursor into My_rec;
   End Loop;
END;

PLSQL游标使用实例

-------------------------------------------------------------------- --游标:指向查询结果集的指针,指向哪一行,提取哪一行的数据 ...
  • ibmpcclient
  • ibmpcclient
  • 2016年08月17日 22:42
  • 2338

PLSQL游标的使用_存储过程

DECLARE    type mycur1 is ref cursor;    --定义游标mycur     v_cur_monitor     mycur1;            --定义...
  • xiaoxing1521025
  • xiaoxing1521025
  • 2013年12月13日 17:12
  • 1684

Oracle--plsql游标创建和使用

游标(cursor)是Oracle系统在内存中开辟的一个工作区,在其中存放SELECT语句返回的查询结果。  游标的分类 隐式游标 PL/SQL隐式建立并自动管理这一游标。隐式游...
  • oLanLanXiaRi
  • oLanLanXiaRi
  • 2012年10月18日 13:08
  • 1986

游标的属性

 (1) %ISOPEN  打开属性 布尔型 打开为TRUE               判断'光标'是否打开如未打开则打开'光标'         IF NOT(CORSOR_NAME%...
  • caixingyun
  • caixingyun
  • 2013年12月15日 21:31
  • 1531

Oracle: ORA-01000: 超出打开游标的最大数问题及解决办法

java.sql.SQLException: ORA-01000: 超出打开游标的最大数ORA-01000: 超出打开游标的最大数ORA-06512: 在"SYS.DBMS_LOB", line 52...
  • shenzhen_mydream
  • shenzhen_mydream
  • 2010年07月11日 14:19
  • 19574

游标的概念和作用

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放...
  • chenjie19891104
  • chenjie19891104
  • 2009年08月08日 10:18
  • 48001

Oracle带游标的存储过程在plus中的调用实例

之前在帖子http://blog.csdn.net/szstephenzhou/article/details/7737342 里回答了一些网友的关于怎么穿件一个返回记录集合的存储过程。想必很多网友已...
  • szstephenzhou
  • szstephenzhou
  • 2012年07月20日 11:38
  • 8642

ORACLE 通过游标使用来了解cursor 的好处!

有了游标,就可以不用每条数据去检查是否符合条件,先看一下下面的: --游标使用(游标其实是一个放入内存临时表)declare   money cms3_simcard.card_fee%type :=...
  • shenghuiping2001
  • shenghuiping2001
  • 2009年12月30日 11:28
  • 1489

PLSQL 循环游标 cursor loop fetch into

PLSQL 循环游标 cursor 的一点心得体会 编辑 文章分类:数据库  set serveroutput on---------------打印输出信息,默认是FALSE dec...
  • zhousenshan
  • zhousenshan
  • 2016年06月16日 20:13
  • 5544

Oracle -PLSQL存储过程游标当出参

包头: create or replace package ProdureceCursorData is type  curtype is ref cursor;     type type_reco...
  • lifang123456
  • lifang123456
  • 2014年09月10日 22:07
  • 2505
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE/PLSQL 游标的简单使用
举报原因:
原因补充:

(最多只允许输入30个字)