当前位置:首页 > 数据库 > Oracle管理

oracle for in 游标有关问题

优良自学吧提供oracle for in 游标有关问题,oracle for in 游标问题 类似这种:for  empInfo  in csr_Update loop begin     当最后一

oracle for in 游标问题
 类似这种:for  empInfo  in csr_Update loop
begin
    当最后一条的时候,打印XXX
end

问题是:怎么判断for循环到了最后一条了?求助。
------解决方案--------------------
引用:
自己顶一下,工作需要,,

由于没有办法去游标的总记录数,所以只要用两次循环实现,第一次去总记录数。
当然,你也可以将你游标的SQL作为子查询,用count求出总记录数,然后用来判断是否到了最后一条记录。

-- Created on 2014-8-2 by ADMINISTRATOR 
declare
  -- Local variables here
  CURSOR CR IS
    SELECT RK FROM T2;
  l_rk number;
  i    integer;
begin
  -- Test statements here
  FOR C1 IN CR LOOP
    i := cr%rowcount;
  END LOOP;

  FOR C1 IN CR LOOP
    if cr%rowcount = i then
      dbms_output.put_line(c1.rk);
    end if;
  END LOOP;

end;

------解决方案--------------------
declare
  -- Local variables here
  CURSOR CR IS
    SELECT RK FROM T2;
  l_rk number;
  i    integer;
begin
  -- Test statements here
  FOR C1 IN CR LOOP
    i := cr%rowcount;
  END LOOP;
 
  FOR j IN 1..i LOOP
    if j = i then
      dbms_output.put_line(c1.rk);
    end if;
  END LOOP;
 
end;

(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢