oracel中对游标的操作

原创 2012年03月26日 18:18:23
1、游标是从数据表中提取出来的数据,以临时表的形式存放在内存中
2、游标
                 定义游标:CURSOR   游标名   IS    SELECT   查询语句
                                     *  游标定义之后,在使用前必须通过“OPEN”打开游标。
                 打开游标OPEN 游标名
                                    将符合条件的记录送入内存
                                    将指针指向第一条记录
 
 
                例1      
             declare
                              cursor mycursor is select * from test ;  
               begin
                           open mycursor; 
               end;
 
        提取数据
                          FETCH 游标名 INTO 变量名1,变量名2……
                                           
                          FETCH  游标名 INTO 记录型变量名
        使用完要关闭游标
                
              close   游标名字
 
 
3、游标状态
  以游标  SQL 为例
SQL%ISOPEN返回的类型为布尔型,判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false,即执行过程中为真,结束后为假。

SQL%NOTFOUND返回值为布尔型,判断游标所在的行是否有效,如果有效,则%FOUNDD等于true,否则等于false,即与%FOUND属性返回值相反。

SQL%FOUND返回值的类型为布尔型,值为TRUE代表插入删除更新或单行查询操作成功

SQL%ROWCOUNT返回值类型为整型,返回当前位置为止游标读取的记录行数,即成功执行的数据行数。

SQL%rowtype   获取一条记录类型

 

 

示例代码如下:

  例子1;  
declare
   cursor SQL    is select * from test ;  
   currecord    SQL%rowtype ;        //获取这一行记录的类型
  begin
  open mycursor;                //打开游标
  fetch mycursor into currecord ;    // 往下下移动游标
  dbms_output.PUT_LINE(to_char(currecord.num));                //输出游标信息
  close mycursor;
end;
 
 
例子2;
 
declare
    cursor mycursor is select * from emp ;  
    currecord mycursor%rowtype ;
begin
    open mycursor;
    loop
        fetch mycursor into currecord ;
        exit when mycursor%notfound;
        dbms_output.put_line(mycursor%rowcount);
        dbms_output.put_line(currecord.ename);
    end loop;
    close mycursor;
end;
 
 
 
 

sql 游标的基本用法

1. 定义游标定义游标语句的核心是定义了一个游标标识名,并把游标标识名和一个查询语句关联起来。DECLARE语句用于声明游标,它通过SELECT查询定义游标存储的数据集合。语句格式为:DECLARE ...
  • jack15850798154
  • jack15850798154
  • 2010年03月01日 11:14
  • 5046

存储过程中遍历游标的三种方式(For,Fetch,While)

我是初学数据库编程,在这里谈谈我对游标的理解,如果有什么理解不对的,还希望路过的大牛们指导一番! 游标其实就是结果集,而在实际开发中,常用的是for循环去遍历游标。直接上代码吧。create or ...
  • weixin_41660188
  • weixin_41660188
  • 2018年01月21日 22:06
  • 37

游标的概念和作用

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

mysql存储过程,对游标的操作

CREATE PROCEDURE `p_delete_test_teacher`(IN t_id BIGINT,OUT res_code INT) BEGIN /*定义游标结束标记*/ DECL...
  • z_Dendy
  • z_Dendy
  • 2013年07月19日 09:49
  • 853

简述游标的使用

游标的使用可以简单归类为5个步骤: 1.定义游标 2.打开游标 3.使用游标 4.关闭游标 5.释放游标 如下是游标简单实用的示例: --1.定义游标 DECLARE test_...
  • Wikey_Zhang
  • Wikey_Zhang
  • 2017年07月10日 12:10
  • 458

游标的使用方法

游标的学习 1. 声明游标就是为了定义一个游标名称来对应一条查询语句,然后对这个查询结果集进行单行操作 声明语句在单个使用的时候需要在declare子句中进行,在存储过程中便是...
  • newMyStyle
  • newMyStyle
  • 2016年01月14日 23:25
  • 2413

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
  • 19555

游标的属性

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

【转】数据库游标的概念和作用

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

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

有了游标,就可以不用每条数据去检查是否符合条件,先看一下下面的: --游标使用(游标其实是一个放入内存临时表)declare   money cms3_simcard.card_fee%type :=...
  • shenghuiping2001
  • shenghuiping2001
  • 2009年12月30日 11:28
  • 1487
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracel中对游标的操作
举报原因:
原因补充:

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