oracel中对游标的操作

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;
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值