通常我们用隐式游标只是:DECLARE CustomerCursor CURSOR is
SELECT .....;for cur1 in  CustomerCursor loop
循环输出;
end loop;这次我需要在第一条记录做一些特殊的处理
然后从第二条记录开始循环
可是隐式游标是不是没下标的啊?怎么知道是第一条记录?

解决方案 »

  1.   

    DECLARE CustomerCursor CURSOR is 
    SELECT .....; 
       v_cnt number := 0;for cur1 in  CustomerCursor loop 
    if v_cnt = 0 then
     第一条记录处理;
    end if;
    循环输出; 
    v_cnt := v_cnt + 1;end loop;
      

  2.   

    隐身游标是有Oracle自己管理的,第一次循环就是第一条记录,直到最后的记录。
      

  3.   

    可以在结果集中增加一列rownumber(数据行号),根据它来判断是否为第一行。
      

  4.   

    if CustomerCursor%rowcount= 1 then