介绍oracle游标

游标用于处理查询结果集中的数据

Oracle中提供了两种游标类型,它们是:

  静态游标:静态游标是在编译时知道Select语句的游标。静态游标又分为两种类型,隐式游标和显式游标。

  REF游标:很多时候用户需要为游标使用的查询直到运行的时候才能确定,可以使用REF游标(引用游标)和游标变量满足这个要求。为了使用引用游标,必须声明游标变量。  有两种类型的REF游标,强类型REF游标和弱类型REF游标。

1、隐式游标:PL/SQL为所有SQL数据操纵语句(包括返回一行的Select)隐式声明游标。用户不能直接命名和控制此类游标。隐式游标名为SQL。

  隐式游标属性:

  (1)、%FOUND        只有在DML语句影响一行或多行时,%FOUND属性才返回TRUE。

  示例1:如果有行被更新,SQL%FOUND就返回真并打印相应信息。

  begin
  update emp set sal=sal+8 where empno=7900;
  if sql%found then
    dbms_output.put_line('表已更新');
  else
    dbms_output.put_line('编号未找到');
  end if;
  end;


 (2)、%NOTFOUND     此属性与%FOUND属性的作用正好相反。如果DML语句没有影响任何行,则%NOTFOUND属性返回TRUE。

  (3)、%ROWCOUNT     此属性返回DML语句影响的行数。如果DML语句没有影响任何行,则%ROWCOUNT属性将返回0。

  示例2:使用%ROWCOUNT属性。

   begin
  update emp set sal=sal+8 where empno=7900;
  if sql%found then
    dbms_output.put_line('表已更新,更新了'||SQL%ROWCOUNT||'行');
  else
    dbms_output.put_line('编号未找到');
  end if;
  end;

 (4)、%ISOPEN       此属性返回游标是否已打开的值。隐式游标的%ISOPEN 属性始终为FALSE。

2、显式游标

  使用显式游标的4个步骤是:

  (1)、声明游标。

  (2)、打开游标。

  (3)、从游标中获取记录

  (4)、关闭游标

 声明显式游标语法:

  CURSOR cursor_name [(parameter [,parameter]...)]

  [RETURN return_type] IS select_statement;

  其中:cursor_name指游标的名称。

        parameter用于为游标指定输入参数。

        return_type定义游标提取的行的类型。

        select_statement指游标定义的查询语句。


  打开游标语法:

  OPEN cursor_name [(parameters)];

  从游标中获取记录语法:

  FETCH cursor_name INTO variables;

  其中:cursor_name指游标的名称。    variables是变量名。

              关闭游标语法:CLOSE cursor_name;  

 

此文章转载自北大青鸟:http://www.bjaccpedu.com/wsxt/5131/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值